MongoDB:$ elemMatch和$ and和在数组内查找对象之间有什么区别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB:$ elemMatch和$ and和在数组内查找对象之间有什么区别?相关的知识,希望对你有一定的参考价值。
查询运算符$and
的用法之间是否存在逻辑差异?>
db.collection.find({$and: [{"array.field1": "someValue"}, {"array.field2": 3}]})
和投影运算符
$elemMatch
的用法
db.collection.find({array: {$elemMatch: {field1: "someValue", field2: 3}}})
要查找包含数组内对象字段的文档?
查询运算符$和db.collection.find({$ and:[{“ array.field1”:“ someValue”},{“ array.field2”:3}]的使用之间是否存在逻辑差异? )以及投影运算符的用法...
答案
我将通过一个示例对此进行解释。考虑集合arrays
。它有一个名为arr
的字段,它是嵌入文档的数组
另一答案
您的第一个查询将找到文档,其中数组具有至少一个field1 = somevalue的元素和至少一个field2 = 3的元素。这两个元素可以不同。第二个将检索文档,其中数组具有至少一个同时匹配两个条件的元素。这是一个数据样本来解释:
另一答案
通过第一个查询,您正在提供某些字段
以上是关于MongoDB:$ elemMatch和$ and和在数组内查找对象之间有什么区别?的主要内容,如果未能解决你的问题,请参考以下文章
mongodb 中的Multikey Index Bounds解释$elemMatch
MongoDb $elemMatch 与 $lookup 变量
带有 elemMatch 的 MongoDB 查询,用于从对象内部匹配嵌套数组数据 [重复]