📅  最后修改于: 2023-12-03 14:52:26.953000             🧑  作者: Mango
在 MongoDB 查询中,可以通过指定需要返回的字段来选择想要的列。这有助于在查询很大的文档时提高性能,因为只有需要的数据会被返回,而不是整个文档。
MongoDB 查询的基本语法如下:
db.collection.find(query, projection)
其中 query
是查询条件,projection
是要返回的字段。
查询条件是一个 JSON 对象,用于限制返回的文档。查询条件在我们选择列方面不是特别关键,因此我们不需要在本文中深入讨论它。
要返回指定的列,可以在 projection
参数中使用以下语法:
db.collection.find({}, {field1: <value>, field2: <value>, ...})
其中 {}
用于指定查询条件为空,{field1: <value>, field2: <value>, ...}
表示只返回指定的字段。例如,以下查询将返回只包含 name
和 age
字段的文档:
db.users.find({}, {name: 1, age: 1, _id: 0})
其中 _id
属性默认情况下总是被返回,可以通过将其设置为 0 来排除它。
有时候也许更容易指定要排除的列,在这种情况下,可以在 projection
参数中使用以下语法:
db.collection.find({}, {field1: <value>, field2: <value>, ...})
其中 {}
用于指定查询条件为空,{field1: <value>, field2: <value>, ...}
表示排除指定的字段。例如,以下查询将返回不包含 address
字段的文档:
db.users.find({}, {address: 0})
有时候在查询结果中只需要前几个结果,MongoDB也可以实现此功能。 可以在查询的时候添加限制查询结果的数量,并且可以跳过一定数量的结果。
以下是简单查询的基本语法:
db.collection.find().limit(<number>).skip(<number>)
limit(<number>)
限制查询结果的数量skip(<number>)
跳过查询结果中的前几个结果例如,以下查询将跳过前 10 个文档,并返回接下来的 5 个文档:
db.users.find().skip(10).limit(5)
本文介绍了如何在 MongoDB 查询中选择需要的字段,包括返回指定列和排除指定列的方法。此外,也介绍了如何忽略指定个数的结果。通过在查询中指定返回的字段,可以有效地提高查询性能并减少网络传输数据的大小。