在mongodb中查询数组[重复]
Posted
技术标签:
【中文标题】在mongodb中查询数组[重复]【英文标题】:Querying array in mongodb [duplicate] 【发布时间】:2019-03-16 05:50:59 【问题描述】:请在以下情况下帮助我。 以下是样本数据单文档。 在所有文档中,我需要单个文档,其数组值符合预期(状态为活动、非活动状态等)。
"_id":.......
"type":"dept",
"values":[
"name":"dept 1",
"status":"active"
,
"name":"dept 2",
"status":"active"
,
"name":"dept 3",
"status":"deleted"
,
"name":"dept 4",
"status":"active"
,
"name":"dept 5",
"status":"active"
,
"name":"dept 6",
"status":"disabled"
,
]
预期结果
1) 获取所有 Active(在数组内)
"_id":.......
"type":"dept",
"values":[
"name":"dept 1",
"status":"active"
,
"name":"dept 2",
"status":"active"
"name":"dept 4",
"status":"active"
,
"name":"dept 5",
"status":"active"
]
2) 获取非活动(在数组内)
"_id":.......
"type":"dept",
"values":[
"name":"dept 3",
"status":"deleted"
,
"name":"dept 6",
"status":"disabled"
,
]
请帮助我查询超出预期的结果。 我想用上面示例中预期的数组值检索文档。
【问题讨论】:
【参考方案1】:你的问题在这里有答案:How to search in array of object in mongodb
但总之你可以这样做:
db.collection.find(values: $elemMatch: status: 'active')
希望对你有帮助
【讨论】:
以上是关于在mongodb中查询数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章
mongodb:查询以检查数组中的项目是不是包含特定字符串[重复]