Javascript 使用填充文档中的值创建MongoDB字段
我有一个用户集合和公司集合。现在,输出如下所示:Javascript 使用填充文档中的值创建MongoDB字段,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我有一个用户集合和公司集合。现在,输出如下所示: "_id":"5ce543a5390d87567f523153", "updatedAt":"2019-10-18T15:01:53.812Z", "createdAt":"2019-05-22T12:42:13.046Z", "associatedCompany":{ "_id":"5ce543a4390d87567f523148", "companyName":"Compan
"_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),
};
我曾尝试过使用聚合和查找来实现这一点,但没有成功。
感谢您的帮助。使用投影过滤您希望在输出中显示的字段 参考: