mongodb中按数组数据筛选
我有这样一个mongodb数据库:mongodb中按数组数据筛选,mongodb,filter,Mongodb,Filter,我有这样一个mongodb数据库: { "_id" : ObjectId("530d24150fef5d9b065909ca"), "data" : "object 1", "my_array" : [ {"arraydata" : "1"}, {"arraydata" : "2"} ] } { "_id" : ObjectId("530d24150fef5d9b065909ca"), "data" : "objec
{
"_id" : ObjectId("530d24150fef5d9b065909ca"),
"data" : "object 1",
"my_array" : [
{"arraydata" : "1"},
{"arraydata" : "2"}
]
}
{
"_id" : ObjectId("530d24150fef5d9b065909ca"),
"data" : "object 2",
}
{
"_id" : ObjectId("530d24150fef5d9b065909ca"),
"data" : "object 3",
"my_array" : [{"arraydata" : "1"}]
}
我想做一个查询,只返回我的数组中包含一些数据的文档,在本例中,它返回了第一个和最后一个
我知道,$where
语句很慢,所以我想得到一个更好的方法
提前感谢。通过以下方式获得:
db.document.find({'my_array.0': {$exists: true}})
有更好的方法吗?如果您知道数组从不存在,但如示例数据中所示为空,则以下方法更简单: db.c.find({my_数组:{$exists:true}})
但是,如果您想筛选出数组存在但为空的文档,那么您的答案是好的。可能重复的答案我认为这个答案比我的好,所以我接受它。谢谢