栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我应该如何正确使用猫鼬填充?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我应该如何正确使用猫鼬填充?

您需要获得定义查询选项然后执行的顺序,并且可链接的API(例如mongoose
Query)不知道在查询触发后您可能会调用哪些其他方法。因此,当您将回调传递给时

.find
,猫鼬会立即发送查询。

将回调传递给
find

  • 由参数定义的查询
    find
  • 由于存在回调,因此查询将立即执行并向数据库发出命令
  • 然后
    .populate
    发生,但是没有任何效果,因为查询已经发送到mongo

这是您需要做的:

Project.find(query, {}, {    sort: {        _id: -1    }}).populate("milestones").exec(function (error, results) {    callback(results);});

或者更具可读性:

Project    .find(query)    .sort('-_id')    .populate('milestones')    .exec(function(error, results) {    callback(results);    });

省略回调并使用
.exec

  • 查询传递给
    .find
    创建 带有参数的查询对象
  • 对的其他链接调用
    .sort
    .populate
    等等进一步配置了查询
  • .exec
    告诉猫鼬您已完成配置查询,猫鼬发出了DB命令


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/448793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号