查询在运营商
问题描述:
与$蒙戈我有一个集合包含与结构如下文件:查询在运营商
array (
'_id' => new MongoId("54369e2904f7055598463483"),
'user' => '123',
'model' =>
array (
'test' =>
array (
'0' => 'test1',
'1' => 'test2',
'2' => 'test3',
),
),
)
如果我做一个查询中岩蒙戈我得到的结果。
array(
'user' => array(
'$in' => array(
'0' => '123'
)
)
)
但是,如果我尝试获取具有例如键=>对价票券“0” =>“test1的” &“1” =>“test2的”我不下一得到任何数据查询:
array(
'model' => array(
'test' => array(
'$in' => array(
'0' => 'test1',
'1' => 'test2',
)
)
)
)
我在哪里犯错?
在此先感谢
答
PHP的数组/哈希的mixup使你的例子有点难以阅读和推理。但是,这里是你的模型看起来像在蒙戈的本地语法(这使得列表和地图之间的区别语言):
{
"_id": ObjectId(...),
"user": 123,
"model": {"test": ["test1", "test2", "test3"]}
}
所以你要对model.test
(嵌套文件)查询。使用蒙戈的母语语法,你会做到以下几点:
collection.find({"model.test": {"$in": ["test1", "test2"]})
更多信息,请参见http://docs.mongodb.org/manual/reference/method/db.collection.find/。