首页 > 解决方案 > Mongoose 如何显示多个结果?

问题描述

如何用一个查询显示多个结果?我查看了猫鼬的文档。函数 '.findByID()' 返回一个 1 文档。我在这里使用它:

router.route ('/friends/:id').get((req,res) => {
   Friend.findById(req.params.id, (err,friend) => {
       if (err) console.log(err);
       else res.json(friend);
   });
});

现在我想按指定值显示我的第二列“UserMain”中的所有结果。Mongoose 提供了“updateMany()”或“deleteMany()”等功能,但我在任何地方都看不到“findMany()”。我尝试通过仅传递第二列值来以这种方式进行操作,但没有发生任何事情。

感谢您的时间。

编辑#1: 1

编辑#2:

router.route ('/friends/:UserMain').get((req,res) => {
Friend.find({UserMain: req.params.UserMain}, function (err, friends) {
    if(err) {
        console.log(err)
    } else {
        res.json(friends)
    }
  })
});

编辑#3 2

标签: node.jsmongodbexpressmongoose

解决方案


要检索数据库中的许多文档,请使用find方法,该方法将一个对象作为第一个参数,该对象表示用于查找与该条件匹配的文档的子句

Friend.find({ user_main: request.params.UserMain}, function (err, friends) {
    if(err) {
        console.log(err)
    } else {
        res.json(friend)
    }
})

推荐阅读