从查询生成器创建并运行以下查询显示10个结果记录。如果我在IntelliShell中运行相同的代码,我什么都没收到?我错过了什么?
一个更简单的再次起作用。
db.user.find({
em: {
$regex: '.*\Qdirk\E.*',
$options: 'i'
}
})
像这样更简单的一个再次工作。 MongoChef是否与$ regex有问题...
db.user.find({em: "[email protected]"})
请注意,您在这里遇到了一个非常特殊的情况。使用\Q ... \E
要求正则表达式以斜杠形式给出,而不是单引号。也就是说,查询必须是db.user.find({ em: { $regex: /.*\Qdirk\E.*/, $options: 'i'}})
或只是db.user.find({ em: /.*\Qdirk\E.*/i })
。
请注意,这不是MongoChef中的问题,但是当正则表达式中使用\Q
和\E
时,MongoDB shell本身需要使用斜杠形式,而MongoChef的IntelliShell基于MongoDB shell。
虽然MongoChef中的Collection View和Query Builder将很乐意处理任何一种形式,但是由MongoChef中的图形查询生成器生成的查询文本已经在upcoming 3.4.0 release中得到增强,以便始终生成斜杠表单,如果该查询是复制的话,将提供一致的结果并粘贴到IntelliShell或基本的MongoDB shell中。
感谢您使用MongoChef!