MongoDB简化了查询逻辑吗?

MongoDB简化了查询逻辑吗?,mongodb,mongodb-query,Mongodb,Mongodb Query,服务器是否以不同方式处理以下逻辑等效查询 {"Name":"1"} {$and:[{"Name":"1"},{$or:[{"Name":"1"},{"Tag":"a"}]}]} 由于第二个查询包含“Tag”字段,它是否会影响索引的使用?如果您想试验并了解mongo对每个查询所做的操作,可以在mongo shell中使用一个可解释的对象 您可以使用光标()创建它: 或者您可以创建一个可解释的对象并使用它执行查询(): 我无法回答您的问题,因为您没有提供有关数据库中定义的索引的信息,但使

服务器是否以不同方式处理以下逻辑等效查询

{"Name":"1"}

{$and:[{"Name":"1"},{$or:[{"Name":"1"},{"Tag":"a"}]}]}

由于第二个查询包含“Tag”字段,它是否会影响索引的使用?

如果您想试验并了解mongo对每个查询所做的操作,可以在mongo shell中使用一个可解释的对象

  • 您可以使用光标()创建它:

  • 或者您可以创建一个可解释的对象并使用它执行查询():


我无法回答您的问题,因为您没有提供有关数据库中定义的索引的信息,但使用此信息,您可以在“queryPlanner”部分中自己查看。如果使用索引,则在“阶段”字段中显示“IXSCAN”

你的问题毫无意义
db.example.find({a:17, b:55}).sort({b:-1}).explain()
var exp = db.example.explain()
exp.help() // see what you can do with it
exp.find({a:17, b:55}).sort({b:-1}) // execute query over the object