MongoChef 查询 IntelliShell 与 QueryBuilder 显示不同的结果
MongoChef Query IntelliShell versus QueryBuilder show different results
从查询生成器创建的以下查询和 运行 显示 10 个结果记录。如果我 运行 在 IntelliShell 中使用相同的代码,我不会收到任何东西吗?我错过了什么?
一个更简单的方法又可以了。
db.user.find({
em: {
$regex: '.*\Qdirk\E.*',
$options: 'i'
}
})
像这样的更简单的方法再次起作用。 MongoChef 是否有 $regex 问题...
db.user.find({em: "dirk@test.com"})
请注意,您遇到了一个非常特殊的情况。 \Q ... \E
的使用要求正则表达式用斜杠而不是单引号给出。也就是说,查询必须是 db.user.find({ em: { $regex: /.*\Qdirk\E.*/, $options: 'i'}})
或者只是 db.user.find({ em: /.*\Qdirk\E.*/i })
。
请注意,这在 MongoChef 中不是问题,但是 MongoDB shell 本身需要在 [=13= 时使用斜杠形式] 和 \E
用于正则表达式,MongoChef 的 IntelliShell 基于 MongoDB shell.
虽然 MongoChef 中的集合视图和查询生成器可以愉快地处理任何一种形式,但 MongoChef 中图形查询生成器生成的查询文本在 upcoming 3.4.0 release 中得到了增强,始终生成斜线形式,这将如果将该查询复制并粘贴到 IntelliShell 或基本 MongoDB shell.
中,则给出一致的结果
感谢使用 MongoChef!
从查询生成器创建的以下查询和 运行 显示 10 个结果记录。如果我 运行 在 IntelliShell 中使用相同的代码,我不会收到任何东西吗?我错过了什么?
一个更简单的方法又可以了。
db.user.find({
em: {
$regex: '.*\Qdirk\E.*',
$options: 'i'
}
})
像这样的更简单的方法再次起作用。 MongoChef 是否有 $regex 问题...
db.user.find({em: "dirk@test.com"})
请注意,您遇到了一个非常特殊的情况。 \Q ... \E
的使用要求正则表达式用斜杠而不是单引号给出。也就是说,查询必须是 db.user.find({ em: { $regex: /.*\Qdirk\E.*/, $options: 'i'}})
或者只是 db.user.find({ em: /.*\Qdirk\E.*/i })
。
请注意,这在 MongoChef 中不是问题,但是 MongoDB shell 本身需要在 [=13= 时使用斜杠形式] 和 \E
用于正则表达式,MongoChef 的 IntelliShell 基于 MongoDB shell.
虽然 MongoChef 中的集合视图和查询生成器可以愉快地处理任何一种形式,但 MongoChef 中图形查询生成器生成的查询文本在 upcoming 3.4.0 release 中得到了增强,始终生成斜线形式,这将如果将该查询复制并粘贴到 IntelliShell 或基本 MongoDB shell.
中,则给出一致的结果感谢使用 MongoChef!