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] } },查詢鍵值等於指定數組中任意值的文檔

 

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