MongoDB 的 Mongoose 之查询篇

阅读时长 4 分钟读完

什么是 Mongoose

Mongoose 是一种在 Node.js 中使用 MongoDB 的优秀工具。它基于 MongoDB 的 node.js 驱动程序,提供了一种基于模式的建模方式,使得我们可以更好的管理我们的数据。

查询概述

Mongoose 提供了一种有用的查询方式,让我们可以轻松地从 MongoDB 中检索数据。在 Mongoose 中,我们可以使用 Model.find() 方法来执行查询操作。与 MongoDB 中的 find() 方法一样,Model.find() 方法也是返回一个可迭代的结果集(cursor)。

Model.find() 方法有多种用法:

查找所有的文档

上述代码将检索数据库中的所有文档并将它们作为数组 docs 返回给回调函数。

如果您不需要结果,并且想确保回调函数在所有查询结果执行后才执行,可以省略回调函数:

查找某个字段匹配的文档

上述代码查询数据库中所有字段 foo 的值为 'bar' 的文档,并将它们返回给回调函数。

查找匹配某个条件的文档

-- -------------------- ---- -------
------------
    ---- -
        ----- -------
        ----- ------
    -
-- ------------- ----- -
    -- -----
    ------------------ -- -- ----- - ----- -- ----- - ----- ---
---

上述代码查询数据库中所有匹配以下条件的文档:

  • foo 的值为 'bar'
  • bar 的值为 'foo'

比较查询

Mongoose 具有比较查询的能力。只需将变量与查询对象一起传递即可。以下是一个演示如何使用 $gt 操作符的示例。

上述代码查询数据库中所有匹配以下条件的文档:

  • age 大于 50

正则表达式查询

Mongoose 也支持正则表达式查询,只需将正则表达式与查询对象一起传递即可。以下是一个演示如何使用正则表达式的示例:

上述代码查询数据库中所有匹配以下条件的文档:

  • name 值类似于 "john"(不区分大小写)

限制结果

我们也可以限制结果的数量,并指定跳过的文档数量。

上述代码查询数据库中从第 21 个文档开始的任意 10 个文档,并将它们作为数组返回给回调函数。

总结

上述是使用 Mongoose 在 MongoDB 中进行查询的基本方法。这些查询使我们可以从 MongoDB 中检索数据,以及强大的过滤和搜索功能。通过这些方法,您可以轻松地从 MongoDB 中检索您的数据,以及更好地管理它们。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e312cff6b2d6eab3e6b5f3

纠错
反馈