首页 > 解决方案 > 如何限制猫鼬查找响应以显示 objectid

问题描述

所以这是我的代码:

router.get('/list/all',(req, res, next) => {
    Order.find((err, result) => {
      res.status(200).json({
        success: true,
        result: result._id //Doesn't work
      });
    });
  });

我希望我的 api 只返回ObjectIds

我应该怎么办?

提前致谢!

标签: node.jsmongodbexpressmongoose

解决方案


基于mongoose 文档.find接受以下参数:

参数:

  • 过滤 «对象|ObjectId»
  • [投影] «Object|String» 要返回的可选字段,请参见 Query.prototype.select()
  • [选项] «Object» 可选参见 Query.prototype.setOptions()
  • [回调] «功能»

所以你可以设置_id1投影上,它只会返回_id字段

Order.find({}, { _id: 1}, (err, result) => {
      res.status(200).json({
        success: true,
        result
      });
);

推荐阅读