【发布时间】:2018-11-08 19:20:18
【问题描述】:
我有一个包含两种结构文档的数据库:
{
"name": "",
"name_ar": "",
"description": "",
"bla1": {
"name": "",
"link": "",
"Logo": ""
},
"bla2": {
"name": "",
"id": ""
}
}
和
{
"name": "",
"name_ar": "",
"description": "",
"bla1": {
"name": [],
"link": "",
"Logo": ""
},
"bla2": {
"name": "",
"id": ""
}
}
我想查询我的集合以获取与“bla1.name”完全相同的文档。但是使用以下查询:
{$and: [{'bla1.name': {'$type': 'string'}}, {"bla1.name":'something'}]}
返回包含名称的所有文档(即使“bla1.name”是一个数组):'something'。
我做错了什么?
【问题讨论】:
-
为什么要查看
type?只需db.collection.find({ "bla1.name": "something" })即可。 -
@AnthonyWinzlet 不能作为包含给定值的数组也被选中。
-
@AnthonyWinzlet 如果数组包含我正在寻找的名称则不起作用
-
@mbuechmann 哦,是的!我错了。
标签: mongodb mongodb-query