下面的查询在整个句子中可以正常使用。
db.candidate.find( {
$and : [
{ permanent_address: { $not: /kendriya/ } } ,
{ current_address: { $not: /India/ } }
]
}
)
但问题是 我有一个下面的数组
Array
(
[$and] => Array
(
[0] => Array
(
[permanent_address] => Array
(
[$not] => /kendriya/
)
)
[1] => Array
(
[current_address] => Array
(
[$not] => /India/
)
)
)
)
当我对其进行编码以将其传递给mongo db以获得结果时,json将会更改
作为
$and :
[
{ permanent_address: { $not: "/kendriya/" } } ,
{ current_address: { $not: "/India/" } }
]
}
]
生成json字符串将引用为什么结果不会这样 我们如何才能解决这个问题。
答案 0 :(得分:2)
创建mongodb正则表达式变量,然后在查询中传递这些变量。
$paddress = new MongoRegex("/kendriya/");
$caddress = new MongoRegex("/India/");
Array
(
[$and] => Array
(
[0] => Array
(
[permanent_address] => Array
(
[$not] => $paddress
)
)
[1] => Array
(
[current_address] => Array
(
[$not] => $caddress
)
)
)
)
或者您可以使用它来创建正则表达式
$ paddress = new MongoDB \ BSON \ Regex(' / kendriya /');