我有一个MongoDB查询:
db.list.find({categories:{$elemMatch:{ "$regex":".*Bar.*", $not:/^Barbeque/}}}).pretty()
它查看category数组中的元素,并且我想获取所有文档,其中有一个元素包含“ Bar”,但没有一个包含“ Barbecue”。如何检查以确保查询正确?
让我知道我的查询是否错误以及如何解决。
答案 0 :(得分:0)
您应像这样指定字符串的结尾:
$not:/^Barbeque$/
而不是
$not:/^Barbeque/
因为任何文件包含(即“烧烤”),它必须返回到您的查询结果。
关于确保我的查询正确与否,我不知道。但是,如果您的查询正确,则mongo必须返回与书面查询匹配的值。
如果出现问题,一定是导致mongo的查询中的逻辑为您返回了意外的值。
所以在运行查询之前,请先检查一下。 :D