使用单个值查询MongoDB文档数组

时间:2014-09-18 13:08:32

标签: mongodb

我在Mongo中有以下doc结构:

{
    "_id" : ObjectId("5419a68bb4a638dae0d63af1"),
    "id" : NumberLong(24),
    "name" : "Facebook test",
    "type" : NumberLong(3),
    "fb_pages" : [ 
        NumberLong(147899715380422)
    ],
    "staff_selectable" : true,
    "background_colour" : "fffcfe",
    "text_colour" : "600009",
    "border_colour" : "df0077"
}

我需要选择针对fb_pages属性的第一个文档。 fb_pages是一个facebook页面ID的数组。但是,当我查询该文档时,它将具有一个Facebook页面ID。像这样:

db.widgets.find({fb_pages: 147899715380422})

这不会返回任何内容所以我猜它是因为fb_pages是一个数组而不是int。

知道如何查询吗?

1 个答案:

答案 0 :(得分:0)

使用$ in运算符(http://docs.mongodb.org/manual/reference/operator/query/in/

db.widgets.find({fb_pages: {$in: [147899715380422]}})

即使这应该有效:

db.widgets.find({fb_pages: [147899715380422]})