混淆MongoDB查询(PHP$and)
我有以下PHP代码连接到我的MongoDB实例:混淆MongoDB查询(PHP$and),php,mongodb,operators,Php,Mongodb,Operators,我有以下PHP代码连接到我的MongoDB实例: $connection_string = "mongodb://XXXXXXX:XXXXXX@XXXXX:XXX/myDB"; $mongo_or = new Mongo($connection_string); $db_or = $mongo_or->selectDB("myDB"); # Pick a collection $collection_or = $db_or->myCollection; $
$connection_string = "mongodb://XXXXXXX:XXXXXX@XXXXX:XXX/myDB";
$mongo_or = new Mongo($connection_string);
$db_or = $mongo_or->selectDB("myDB");
# Pick a collection
$collection_or = $db_or->myCollection;
$findArray = array('$and' => array('user.uid' => 1, 'friend_id' => 2));
$findArray2 = array('$and' => array('user.uid' => 2, 'friend_id' => 1));
$collection_or->remove($findArray);
$collection_or->remove($findArray2);
这永远不会删除任何结果-即使知道内容仍在那里,也永远不会删除。如果您想要$and查询的良好结构,只需对其进行json\u解码:
{
"$and" : [{
"$or" : [{
"civility" : 2
}, {
"civility" : 3
}]
}]
}
语法错误,但您不需要这些$and,数组元素之间的默认运算符是$and,这将是一个糟糕的结构,您不需要那里的
$和
,嵌套的$或
对于索引来说非常糟糕。