MongoDB_クエリの制限

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です。

彼は195元の記事を発表 ウォン称賛17 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_43141726/article/details/104821851