仅按值Mongodb查找记录



我不知道密钥名称,只能通过值获取记录吗?示例:

db.people.insertMany([
{ id: "1", city: a, zipCode : 1111},
{ id: "2", qty: b, zipCode : 2222},
{ id: "3", qty: c, zipCode : 333},
{ id: "4", qty: e,  zipCode : 1111},
{ id: "5", qty: d,  zipCode : 4444},
]); 
db.people.find( _ : 111)]
{ id: "1", city: a, zipCode : 1111},
{ id: "4", qty: e,  zipCode : 1111},

其中"_"表示某个通用密钥。

111很可能不会返回值为1111的文档。不管怎样,你可以用这个:

db.people.aggregate([
{ $set: { _: { $objectToArray: "$$ROOT" } } },
{ $match: { "_.v": 1111 } },
{ $unset: "_" }
])

但它只适用于顶级元素。嵌套文档不在此范围内。

相关内容

  • 没有找到相关文章