我试图找出如何键入存在一个或多个嵌套键的所有文档。所以采取以下集合
[ {_id =“setting1” ,NAME = “setting1Name” ,description =“这是描述” ,values = {us =“good” ,UK = “大”
}
,defaultvalues={ us ="good"
,uk="great"
,sp="bueno"
}
,position = "1"
,group="group1"
},
{_id = "setting2"
,name="setting2Name"
,description="This is the description"
,values = { us ="good"
,lu="great"
}
,defaultvalues={ us ="good"
,uk="great"
,sp="bueno"
}
,position = "2"
,group="group2"
}]
所以我想找到['us','lu']中值的键所在的文档。我知道怎么做
query = mongo.collection(“settings”)。find({“values.us”= {“$ exists”=“true”}});
但如果“us”或“lu”存在,那么扩展它的最佳方法是什么?
由于
答案 0 :(得分:0)
尝试使用'$或'运算符。我习惯了php语法,但你会明白这个想法。
$where = array(
'$or' => array(
array('values.us' => array('$exists' => TRUE)),
array('values.lu' => array('$exists' => TRUE))
)
);
$query = $collection->find($where);