2014-12-02 107 views
0

與$蒙戈我有一個集合包含與結構如下文件:查詢在運營商

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', 
    ) 
) 
) 
) 

我在哪裏犯錯?

在此先感謝

回答

0

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/