如何使用带整数键的嵌套数组中的值查找文档?

时间:2019-04-09 19:51:08

标签: mongodb go mgo

我的查找查询如下:

._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。

1 个答案:

答案 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