MongoDB 常用运算符
$eq = (等于)
$gt > (大于)
$gte >= (大于等于)
$lt < (小于)
$lte <= (小于等于)
$ne != (不等于)
$in in (in)
$nin !in (not in)
參考:https://docs.mongodb.com/manual/reference/operator/query/
$eq
語法:
{ <field>: { $eq: <value> } }1、匹配文檔值
如果指定的是文檔,則文檔中的字段順序很重要。
2、匹配數組值
如果指定的是一個數組,則MongoDB將匹配數組的文檔完全匹配,或者包含與數組完全匹配的元素。 元素的順序很重要。
示例:
inventory 庫存清單
{ _id: 1, item: { name: "ab", code: "123" }, qty: 15, tags: [ "A", "B", "C" ] } { _id: 2, item: { name: "cd", code: "123" }, qty: 20, tags: [ "B" ] } { _id: 3, item: { name: "ij", code: "456" }, qty: 25, tags: [ "A", "B" ] } { _id: 4, item: { name: "xy", code: "456" }, qty: 30, tags: [ "B", "A" ] } { _id: 5, item: { name: "mn", code: "000" }, qty: 20, tags: [ [ "A", "B" ], "C" ] }12345等于指定值
以下示例查詢清單集合以選擇其中qty字段的值等于20的所有文檔:
db.inventory.find( { qty: { $eq: 20 } } )1查詢匹配以下文檔:
{ _id: 2, item: { name: “cd”, code: “123” }, qty: 20, tags: [ “B” ] } { _id: 5, item: { name: “mn”, code: “000” }, qty: 20, tags: [ [ “A”, “B” ], “C” ] }嵌入文檔中的字段等于值
以下示例查詢庫存集以選擇所有文檔,其中項目文檔中名稱字段的值等于“ab”。 要在嵌入文檔中的字段上指定條件,請使用點符號。
db.inventory.find({"item.name":{$eq:"ab"}})1查詢結果:
{ _id: 1, item: { name: “ab”, code: “123” }, qty: 15, tags: [ “A”, “B”, “C” ] }
數組元素等于值
以下示例查詢清單集合以選擇標簽數組包含值為“B”的元素的所有文檔[1]:
db.inventory.find({tags:{$eq:"B"}})1查詢結果:
{ _id: 1, item: { name: “ab”, code: “123” }, qty: 15, tags: [ “A”, “B”, “C” ] }
{ _id: 2, item: { name: “cd”, code: “123” }, qty: 20, tags: [ “B” ] }
{ _id: 3, item: { name: “ij”, code: “456” }, qty: 25, tags: [ “A”, “B” ] }
{ _id: 4, item: { name: “xy”, code: “456” }, qty: 30, tags: [ “B”, “A” ] }
等于數組值
以下示例查詢清單集合以選擇所有文檔,其中標簽數組等于指定數組或標簽數組包含一個等于數組[“A”,“B”]的元素。
db.inventory.find({tags:{$eq:["A","B"]}})查詢結果:
{ _id: 3, item: { name: “ij”, code: “456” }, qty: 25, tags: [ “A”, “B” ] }
{ _id: 5, item: { name: “mn”, code: “000” }, qty: 20, tags: [ [ “A”, “B” ], “C” ] }
$gt >
語法:
{field: {$gt: value}}$ gt選擇字段的值大于(即>)指定值的文檔。
示例:
此查詢將選擇庫存集合中qty字段值大于20的所有文檔。
db.inventory.find({qty:{$gt:20}})特別注意點:
query["reward.checkername"] = { "$eq": undefined }如果checkername是mongoose.SchemaTypes.ObjectId類型的,上面的寫法就會有問題。
總結
以上是生活随笔為你收集整理的MongoDB 常用运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 100家大公司java笔试题汇总(带答案
- 下一篇: oracle常用命令收集