Node.js 如何在MongoDB&;的另一个集合中引用ObjectID;节点?
我对这个相当陌生,所以请容忍我,不过我有两个系列。一个叫照片,另一个叫用户 在Node中,我使用mongoose获取数据并将其放入我的MongoDB中。我的模式很好地实现了这一点:Node.js 如何在MongoDB&;的另一个集合中引用ObjectID;节点?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我对这个相当陌生,所以请容忍我,不过我有两个系列。一个叫照片,另一个叫用户 在Node中,我使用mongoose获取数据并将其放入我的MongoDB中。我的模式很好地实现了这一点: var picSchema = new Schema({ uid: String, pid: String, oFile: String }); 我想做的是为uid,我想为上传照片的用户添加ObjectId。我可以将其作为字符串传递,但是我认为必须将字段设置为Obje
var picSchema = new Schema({
uid: String,
pid: String,
oFile: String
});
我想做的是为uid,我想为上传照片的用户添加ObjectId。我可以将其作为字符串传递,但是我认为必须将字段设置为ObjectId,但似乎我不能这样做
除非我遗漏了什么,否则我最好在其中添加用户名并将其用作参考?使用
mongoose.Schema.Types.ObjectId
用ObjectId填充字段。在本例中,您将使用User
(或者用户模式的名称)
此外,如果希望在Pic
文档中展开用户文档,还可以使用Mongoose方法Populate
。例如:
Pic.find({})
.populate('uid')
.exec(function(err, pic) {
console.log(pic);
// do something
});
如何在此场景中实现自动填充?
Pic.find({})
.populate('uid')
.exec(function(err, pic) {
console.log(pic);
// do something
});