【问题标题】:Filtering a mongodb query using mongoose使用 mongoose 过滤 mongodb 查询
【发布时间】:2021-09-01 01:54:43
【问题描述】:

我正在尝试根据特定属性过滤 mongoDB 文档。 这就是我想要做的。 假设我有一个用户文档,在这个用户文档中我有 10 个字段。在这 10 个字段中,我想过滤我的查询以获得大约 4 个。

我试过这样的

UserDoc.find({}, email:1, dob:1, hasInsurance:1, isMarried:1)

这是假设我只希望查询返回这些特定字段。我在 SO 上看到了这种方法,但似乎不起作用。谁能指出我正确的方向?

【问题讨论】:

  • 您的问题不清楚,您是在尝试这些特定字段 还是 根据特定属性过滤mongoDB文档。,两者是不同的东西,第一个参数用于查询,第二个参数用于投影查看更多关于find函数的信息。
  • 更多的是后者。我正在尝试根据特定属性过滤 mongoDB 文档。谢谢
  • .find({ email: "", bob: "", hasInsurance: "", isMarried: "" }),查找方法请查看第一条评论中的附加链接,这是一个基本问题,您必须在提问之前查看文档。

标签: mongodb mongoose mongodb-query


【解决方案1】:

在 mongo shell 中尝试:

UserDoc.find({}, {email:1, dob:1, hasInsurance:1, isMarried:1})

在nodejs中使用猫鼬:

UserDoc.find({}).select("email dob hasInsurance isMarried")

【讨论】:

  • 感谢您的意见。这正是我想要的
【解决方案2】:

在 nodejs 中,您可以使用以下语法在输出中获取特定文件-

UserDoc.find({}).select("email").select("dob").select("hasInsurance").select("isMarried")

您可以从输出中删除指定字段。它只会从输出中删除提交的电子邮件-

UserDoc.find({}).select("-email")

【讨论】:

    猜你喜欢
    • 2021-08-16
    • 1970-01-01
    • 2017-09-08
    • 2014-10-10
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    相关资源
    最近更新 更多