我有以下Mongodb文件:
Users : {'_id' : '12345', 'fullname' : 'ABC'}
and
Files :
{'_id' : 'File001', 'path' : 'pathA', 'Users_id' : '12345'}
{'_id' : 'File002', 'path' : 'pathB', 'Users_id' : '12345'}
如何以引用“用户”文档的“Users_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数组的最后一个元素。有什么建议吗?