首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoose从连接两个模型中获取数据

Mongoose从连接两个模型中获取数据
EN

Stack Overflow用户
提问于 2017-11-27 18:27:21
回答 2查看 39关注 0票数 0

我有两个模型: CRM模型和CRM状态模型。_id和crm_id在两个模型中是相同的。任何id都可以有多个状态文档。我想在nodejs的CRM状态模型中找到每个id的最后更新状态。

CRM模型

代码语言:javascript
复制
        "_id" : ObjectId("5a16a6481dac972b9cf22978"),   /// join this 
        "updatedAt" : ISODate("2017-11-23T10:43:20.450Z"),
        "createdAt" : ISODate("2017-11-23T10:43:20.450Z"),
        "name" : "istiaque ahmad",
        "shop_name" : "soul dance",
        "address" : "dfsdfsd",
        "phone" : "01764199657",
        "email" : "nahid@gmail.com",
        "website" : "facebook.com",
        "comment" : "defdfsdfsdf",
        "interest" : "ddsfsdfsdf",
        "reference" : "dfsdfsdf",
        "__v" : 0

CRM状态

代码语言:javascript
复制
    "_id" : ObjectId("5a1a89041fe4313394da0db6"),
    "updatedAt" : ISODate("2017-11-26T09:27:32.725Z"), ///last updated
    "createdAt" : ISODate("2017-11-26T09:27:32.725Z"),
    "crm_id" : "5a1a48c5796ee01e90b618b6",  // join this 
    "name" : "nahid hasan",
    "shop_name" : "gift gallary",
    "status" : "dsadsdsada", /// find this 
    "__v" : 0
EN

回答 2

Stack Overflow用户

发布于 2017-11-27 19:06:49

如果您在Shemas中使用“引用”,则可以“加入”某些模型。

看一看Mongoose Populate Documentation

希望能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2017-11-27 19:08:23

可以尝试此查询

代码语言:javascript
复制
db.crm.aggregate([
  {
    $lookup: {
      from: "crmstatus",
      localField: "_id",
      foreignField: "crm_id",
      as: "status"
    }
  },
  {$unwind: {path: "$status", "preserveNullAndEmptyArrays": true}},
  {$sort: {"status.updatedAt": -1}},
  {
    $group: {
      _id: "$_id",
      name: {$first: "$name"},
      //... add fields as you need 
      status: {$first: "$status"}
    }
  }
])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47508721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档