我对此很新,所以忍受我,但我有2个收藏。一个叫照片,另一个叫用户。
在Node中,我正在使用mongoose将数据放入我的MongoDB中。我的架构让我的工作正常:
var picSchema = new Schema({
uid: String,
pid: String,
oFile: String
});
我想要做的是uid,我想为上传照片的用户添加ObjectId。我可以将它作为String传递,但是我认为我必须将字段设置为ObjectId,但似乎我不能这样做?
除非我遗漏了某些内容,否则我可以在那里添加用户名并将其用作参考?
答案 0 :(得分:1)
使用mongoose.Schema.Types.ObjectId
使用ObjectId填充字段。在这种情况下,您将使用User
(或者您的用户架构的名称)。
var picSchema = new Schema({
uid: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
pid: String,
oFile: String
});
此外,如果您希望在Populate
文档中展开用户文档,还可以使用Mongoose方法Pic
。例如:
Pic.find({})
.populate('uid')
.exec(function(err, pic) {
console.log(pic);
// do something
});