Mongo文档:什么是查询,表达式,查询谓词和子句

时间:2018-05-14 13:16:48

标签: mongodb mongodb-query

MongoDB文档使用的词语如查询表达式查询谓词子句但是我是无法找到他们的确切含义。

例如$elemMatch的语法定义为

{ <field>: { $elemMatch: { <query1>, <query2>, ... } } }

但我不知道query1query2是什么意思。关于$elemMatch的同一篇文章提到了单词查询谓词:

  

如果在$elemMatch表达式中指定单个查询谓词,则不需要$elemMatch

但他们没有具体说明这是什么意思。文档(或Mongo源代码)中是否有一个位置可以精确定义这些单词?

更具体一点:我试图了解如何形成有效的查询。例如,使用此数据库的原因

db.inventory.insertMany([
   { item: "planner", qty: 75, tags: ["blank", "red"], dim_cm: [ {value: 49} ] }
]);

以下查询工作

db.inventory.find( {dim_cm: { $elemMatch :{ $or: [{value: 49}] } }} )

但没有$elemMatch的查询不会:

db.inventory.find( {dim_cm: { $or: [{value: 49}] } })

即使文档声明如果您在$elemMatch表达式中指定单个查询谓词,则不需要$elemMatch

1 个答案:

答案 0 :(得分:0)

$elemMatch运算符将包含数组字段的文档与至少一个与所有指定查询条件匹配的元素进行匹配。查看this链接

为了更好地了解mongodb,您可以从here开始。

Mongodb还为新学员提供免费课程。检查this