📜  如何在 mongodb 查询中选择几列 (1)

📅  最后修改于: 2023-12-03 14:52:26.953000             🧑  作者: Mango

如何在 MongoDB 查询中选择几列

在 MongoDB 查询中,可以通过指定需要返回的字段来选择想要的列。这有助于在查询很大的文档时提高性能,因为只有需要的数据会被返回,而不是整个文档。

查询语法

MongoDB 查询的基本语法如下:

db.collection.find(query, projection)

其中 query 是查询条件,projection 是要返回的字段。

查询条件

查询条件是一个 JSON 对象,用于限制返回的文档。查询条件在我们选择列方面不是特别关键,因此我们不需要在本文中深入讨论它。

返回指定列

要返回指定的列,可以在 projection 参数中使用以下语法:

db.collection.find({}, {field1: <value>, field2: <value>, ...})

其中 {} 用于指定查询条件为空,{field1: <value>, field2: <value>, ...} 表示只返回指定的字段。例如,以下查询将返回只包含 nameage 字段的文档:

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 查询中选择需要的字段,包括返回指定列和排除指定列的方法。此外,也介绍了如何忽略指定个数的结果。通过在查询中指定返回的字段,可以有效地提高查询性能并减少网络传输数据的大小。