使用填充的文档中的值创建MongoDB字段

时间:2019-10-23 09:03:51

标签: javascript node.js mongodb

我有一个用户集合和一个公司集合。现在输出看起来像这样:

"_id":"5ce543a5390d87567f523153",
"updatedAt":"2019-10-18T15:01:53.812Z",
"createdAt":"2019-05-22T12:42:13.046Z",
"associatedCompany":{
                 "_id":"5ce543a4390d87567f523148",
                 "companyName":"Company Two"},
"accountStatus":1,
"roleInfo":{"roleType":1},
"role":2,
"personalInfo":{    
 "fullName":"SomeName",
         "firstName":"Name",
          "lastName":"Last",
           "email":"email@email.com",
          "phone":{"countryCode":"SE","number":"9876543210"}}}

公司集合中填充公司字段的位置。

有没有一种方法可以立即显示带有firstName和lastName字段而没有“ personalInfo”字段的公司名称,因此输出将类似于:

{"data":[{
"_id":"5ce543a5390d87567f523153",
"updatedAt":"2019-10-18T15:01:53.812Z",
"createdAt":"2019-05-22T12:42:13.046Z",
 "companyName":"Company Two",
"accountStatus":1,
"roleInfo":{"roleType":1},
"role":2,
"firstName":"Name",
"lastName":"Last",
"email":"email@email.com"

查询我正在使用

  const listUsers = (skip, limit = 10) => {
    let config = {
      populate: {
          'path': 'associatedCompany',
          'select': 'companyName'
        },
        limit: Number(limit),
        skip: Number(skip),
      };

我尝试通过聚合和查找来完成此操作,但是没有成功。 谢谢。

1 个答案:

答案 0 :(得分:0)

使用投影来过滤要在输出中显示的字段。

参考: mongoDB projection