我的查找查询如下:
._logo
(其中box-sizing: border-box
是来自方法的对象ID)
我要做的是选择一个匹配bson.M{"_id": oId, "items": bson.M{"$elemMatch": bson.M{"id": theId, "active": true}}}
且theId
设置为id
的文档
active
但是不管我怎么做,它都找不到任何文档。该怎么办?
编辑:添加了我的Go代码。
true
由于找不到任何文档,它总是返回false。
答案 0 :(得分:1)
如果您拥有数据库,我建议将数据重组为如下形式:
{
"_id" : ObjectId("5ca0e44acb216df65405dc5f"),
"items" : [
{
"id" : ObjectId("5c9fbb25e86deef65491c321"),
"active" : true
},
{
"id" : ObjectId("5c9fbb57cb216df65405dc5c"),
"active" : false
},
{
"id" : ObjectId("5c9fbb65cb216df65405dc5d"),
"active" : false
}
]
}
然后,您可以使用MongoDB自己的文档:Query an Array of Embedded Documents methods。