返回 MongoDB 中的每个特定对象

Posted

技术标签:

【中文标题】返回 MongoDB 中的每个特定对象【英文标题】:Return Every Certain Object in MongoDB 【发布时间】:2018-01-09 00:35:23 【问题描述】:

如何编写返回 NoSQL 数据库中名为“address”的“每个”对象的查询? ...请注意它可能“嵌套”到其他对象。

我试过了

.find(
  'result.extractorData.data[0].group[0].address': 
    $exists: true
  
);

但这不起作用,BTW 数据看起来像:

【问题讨论】:

【参考方案1】:

我认为对于嵌套数组,您最好使用 elemMatch 运算符

查看类似问题here 和here

$elemMatch 运算符匹配包含数组字段且至少有一个元素匹配所有指定查询条件的文档。

更多关于elemMatch

还有另一种方法:

.find(
  'result.extractorData.data.group.address': 
    $exists: true
  
);

【讨论】:

请问有什么例子吗? @Microsmsm 你能列出你期望的输出示例吗?

以上是关于返回 MongoDB 中的每个特定对象的主要内容,如果未能解决你的问题,请参考以下文章

mongodb4.2---Configuration File Options--外部源配置文件值

MongoDB的启动与停止

为什么 MongoDB 连接数被用满了?

如何使用 MongoDB 聚合管道从集合中的两个子文档中返回最小值?

将此数据集作为 mongoDB 中的用户模式对象数组返回

MongoDB find() 在匹配(字段,值)时返回子文档