我有以下 Mongodb 文档:
Users : {'_id' : '12345', 'fullname' : 'ABC'}
and
Files :
{'_id' : 'File001', 'path' : 'pathA', 'Users_id' : '12345'}
{'_id' : 'File002', 'path' : 'pathB', 'Users_id' : '12345'}
如何以引用“用户”文档的“用户 ID”具有完整“用户”文档的方式查询或查找所有“文件”文档?
预期输出:
{'_id' : 'File001', 'path' : 'pathA', 'Users_id' : '12345', 'user' : {'_id' : '12345', 'fullname' : 'ABC'}}
{'_id' : 'File002', 'path' : 'pathB', 'Users_id' : '12345', 'user' : {'_id' : '12345', 'fullname' : 'ABC'}}
通过这种方式,我可以访问文件所有者的全名:file.user.fullname
我感谢你们的任何帮助。谢谢你。
- - 编辑
我正在使用 node-mongodb-native 来访问数据库。
下面是我检索它的代码:
var files = db.collection ('Files');
files.find ({}, {}).toArray (function ( err, filesDoc){
for ( var index in filesDoc) {
var fileDoc = filesDoc [ index ];
var users = db.collection ('Users');
users.findOne ({'_id' : fileDoc.Users_id}, {}, function (errUser, userDoc){
if ( ! errUser ) {
fileDoc.user = userDoc;
}
});
}
});
但是此代码并未将用户分配给所有文件 doc,而仅分配给 filesDoc 数组的最后一个元素。有什么建议么?