Mongodb简单查询

时间:2017-09-05 21:25:29

标签: mongodb

Mongodb查询问题:

parent = {
    "_id": ObjectId("1"),
    "children": [ObjectId("11"), ObjectId("12"), ObjectId("13")]
}

如果给定的id匹配children数组中的任何一个,我想返回整个父文档。

> db.parent.find({"children": ObjectId("11")})

不会返回任何内容

TIA, 埃里克

1 个答案:

答案 0 :(得分:0)

您需要先get db这个允许节点知道您正在谈论的db。我用一个简单的_db = db.get('parent')做到这一点。 现在,您可以尝试使用ObjectId搜索数据库。使用ObjectId我相信您只需搜索11,因为它只是String。如果

_db = db.get('parent')

_db.find({'children': '11'}, function(err, doc){
    if(!err){
        ...
        Docs will return the whole query
    }else{
        ...
    }
}

如果仅搜索11无效,请尝试使用ObjectId

现在,当我尝试将ObjectId添加到我的Mongotron数据库时,它返回Error : Argument passed in must be a single String of 12 bytes or a string of 24 hex characters Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters at new ObjectID。您确定自己的数据位于db吗?