MongoDB shell 查询选择器?
MongoDB shell query selector?
此查询将只查询 return 满足两个键的文档,还是将显示只包含一个键的文档?
db.collection.findOne ( {price : 1, age : 1} )
空查询选择器参数将如何反映在结果上?
db.collection.findOne ( {}, {price : 1, age : 1} )
1) 此查询 db.collection.findOne ( {price : 1, age : 1} )
将 return 满足两个键 price equals 1 AND age equals 1
的文档
如果您想使用 OR 匹配而不是使用此语法:
db.collection.findOne ( {
$or: [
{ name: 1 },
{ age: 1 }
]
}
2) findOne的第二个参数是projection。根据文档
One document that satisfies the criteria specified as the first argument to this method.
If you specify a projection parameter, findOne() returns a document that only contains the
projection fields. The _id field is always included unless you explicitly exclude it.
这意味着如果您使用第二个参数,它将return仅匹配此参数
的字段
db.collection.findOne({ name: 1, age: 1 }, { name: 1 })
它将return只包含_id
和name
字段的文档,满足姓名和年龄
给定 db.collection.findOne(<criteria>, <projection>)
:
条件参数
此查询将return第一个满足两个以下条件的文档,即age==15
和price==0.5
:
db.collection.findOne( {price : 0.5, age : 15} )
投影参数
投影参数定义您要在响应中显示的字段。您可以包含一个参数(在您的查询中为其指定 1
或 true
的值)或排除一个参数(在您的查询中为其指定 0
或 false
的值).
所以查询:
db.collection.findOne ( {}, {price : 1, age : 1} )
将 return 您的 collection 的第一项(由 {}
查询),仅显示 price
和 age
字段。
参考 the fine manual。
此查询将只查询 return 满足两个键的文档,还是将显示只包含一个键的文档?
db.collection.findOne ( {price : 1, age : 1} )
空查询选择器参数将如何反映在结果上?
db.collection.findOne ( {}, {price : 1, age : 1} )
1) 此查询 db.collection.findOne ( {price : 1, age : 1} )
将 return 满足两个键 price equals 1 AND age equals 1
的文档
如果您想使用 OR 匹配而不是使用此语法:
db.collection.findOne ( {
$or: [
{ name: 1 },
{ age: 1 }
]
}
2) findOne的第二个参数是projection。根据文档
One document that satisfies the criteria specified as the first argument to this method.
If you specify a projection parameter, findOne() returns a document that only contains the
projection fields. The _id field is always included unless you explicitly exclude it.
这意味着如果您使用第二个参数,它将return仅匹配此参数
的字段db.collection.findOne({ name: 1, age: 1 }, { name: 1 })
它将return只包含_id
和name
字段的文档,满足姓名和年龄
给定 db.collection.findOne(<criteria>, <projection>)
:
条件参数
此查询将return第一个满足两个以下条件的文档,即age==15
和price==0.5
:
db.collection.findOne( {price : 0.5, age : 15} )
投影参数
投影参数定义您要在响应中显示的字段。您可以包含一个参数(在您的查询中为其指定 1
或 true
的值)或排除一个参数(在您的查询中为其指定 0
或 false
的值).
所以查询:
db.collection.findOne ( {}, {price : 1, age : 1} )
将 return 您的 collection 的第一项(由 {}
查询),仅显示 price
和 age
字段。
参考 the fine manual。