MongoDBの
記事のディレクトリ
1.条件操作符
条件演算子は、2つの式とMongoDBのセットから取得したデータを比較するために使用されます。
このセクションでは、MongoDBの中に条件演算子を使用する方法について説明します。
MongoDBの条件演算子では、次のとおりです。
- $ GT - (>)より大きい
- $ LT - (<)より小さい
- (> =)以上 - $ GTE
- (<=)以下- $ LTE
「COL」と題した私たちは、「データベース1」の名前を使用するデータベース私たちのコレクション、以下の事項は、弊社挿入されています。
>db.col.insert({
title: 'PHP 教程',
description: 'PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。',
by: 'database1',
tags: ['php'],
likes: 200
})
>db.col.insert({title: 'Java 教程',
description: 'Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。',
by: 'database1',
tags: ['java'],
likes: 150
})
>db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'database1,
tags: ['mongodb'],
likes: 100
})
データを表示するために使用するのfind()コマンド:
> db.col.find()
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "database1", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "database1","tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1", "tags" : [ "mongodb" ], "likes" : 100 }
1.1.MongoDB(>)演算子よりも大きい - $ GT
「COL」コレクションは、データが100以上である「好き」を取得します
db.col.find({likes : {$gt : 100}})
結果
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "database1", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "database1","tags" : [ "java" ], "likes" : 150 }
1.2.MongoDB(> =)演算子は、以上である - $ GTE
私は「COL」コレクションは、データに「好き」を取得したいのは100以上であります
db.col.find({likes : {$gte : 100}})
結果
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "database1", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "database1","tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1", "tags" : [ "mongodb" ], "likes" : 100 }
$ LT - 1.3.MongoDB(<)演算子は、以下であります
私は「COL」コレクション「好き」データ150よりも小さいを取得したいです
db.col.find({likes : {$lt : 150}})
結果
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1", "tags" : [ "mongodb" ], "likes" : 100 }
1.4.MongoDB使用(<)および(>)クエリ - $ LT GT $および
私は、データ「COL」のコレクションを取得したいことは200以上、100以上である「好き」
db.col.find({likes : {$lt :200, $gt : 100}})
結果
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "database1","tags" : [ "java" ], "likes" : 150 }
2. $タイプ演算子
2.1MongoDB演算子 - $タイプ例
私は、文字列データとして「COL」コレクションのタイトルを取得したいです
db.col.find({"title" : {$type : 2}})
或
db.col.find({"title" : {$type : 'string'}})
結果
{ "_id" : ObjectId("56066542ade2f21f36b0313a"), "title" : "PHP 教程", "description" : "PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。", "by" : "database1", "tags" : [ "php" ], "likes" : 200 }
{ "_id" : ObjectId("56066549ade2f21f36b0313b"), "title" : "Java 教程", "description" : "Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言。", "by" : "database1","tags" : [ "java" ], "likes" : 150 }
{ "_id" : ObjectId("5606654fade2f21f36b0313c"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "database1", "tags" : [ "mongodb" ], "likes" : 100 }
3.Limitとスキップする方法
3.1.Limit方法
あなたはMongoDBの内のデータレコードの指定された数を読み取る必要がある場合は、この方法は、MongoDBののリミットは、リミット()メソッドは、指定したレコードの数は、MongoDBのから読み取ること数値パラメータを取りに使用することができます。
構文
は次のように基本的な構文の制限()メソッドは次のとおりです。
>db.COLLECTION_NAME.find().limit(NUMBER)
例
> db.col.find({},{"title":1,_id:0}).limit(2)
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
>
3.2.Skip()メソッド
我々は、データの指定された量が限界に加えて使用することができるread()メソッドだけでなく、データの指定された数をスキップするスキップ()メソッドを使用することができる、スキップ方法は、パラメータとして、スキップするレコードの数の数を受け付けます。
構文
()メソッドのスクリプトの構文をスキップし、次のとおりです。
>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
例としては、
以下の実施例は、第2の文書データを表示します
>db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
{ "title" : "Java 教程" }
>
注:デフォルトのパラメータのスキップ()メソッドは0です。