Mongo查询操作符

数组查询操作符:

$all

用法:{ field : {$all:[value1,value2]}},查询数组中包含指定值的文档,条件的数组是文档中已有数组的子集

示例:

db.inventory.find({"tags":{$all:["apple"]}},{"_id":0})

{ "name" :"t1", "amount" : 16, "tags" : ["apple", "banana" ] }

{ "name" :"t3", "amount" : 58, "tags" : ["orange", "apple" ] }

当只需要匹配数组的一个值时,简便写法:

db.inventory.find({"tags":"apple"},{"_id":0})

{ "name" :"t1", "amount" : 16, "tags" : ["apple", "banana" ] }

{ "name" :"t3", "amount" : 58, "tags" : ["orange", "apple" ] }

$size

用法:{ field:{ $size:size } },查询数组中元素的数量等于size的文档,size必须是数字

示例:

db.inventory.find({"tags":{$size:2}},{"_id":0})

{ "name" :"t1", "amount" : 16, "tags" : ["apple", "banana" ] }

{ "name" :"t2", "amount" : 50, "tags" : ["banana", "orange" ] }

{ "name" :"t3", "amount" : 58, "tags" : ["orange", "apple" ] }

$elemMatch

用法:{field:{$elemMatch:{exp}}} ,文档内部存在由文档作为元素组成数组,如果要以数组中的文档作为查询条件,就可以用$elemMatch操作符指向内部文档。

算术操作符

$gt

用法:{ field : { $gt:value } },查询键值大于指定值的所有文档

示例:

db.inventory.find({"amount":{$gt:50}},{"_id":0})

{ "name" :"t3", "amount" : 58, "tags" : ["orange", "apple" ] }

$gte

用法:{ field: { $gte: value } },查询键值不小于指定值的所有文档。

$lt

用法:{ field: { $lt: value } },查询键值小于指定值的所有文档。

$lte

用法:{ field: { $lte: value } },查询键值不大于指定值的所有文档。

$eq

用法:{ field: { $eq: value } },查询键值等于指定值的所有文档。

$ne

用法:{ field: { $ne: value } },查询键值不等于指定值的所有文档。

$in

用法:{ field: { $in: [value1,value2] } },查询键值等于指定数组中任意值的文档

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章