K20*_*0GH 5 mongoose mongodb node.js
我对此还很陌生,所以请耐心等待,但我有 2 个收藏。一个称为照片,另一个称为用户。
在 Node 中,我使用 mongoose 获取数据并将其放入 MongoDB 中。我的架构可以正常工作:
var picSchema = new Schema({
uid: String,
pid: String,
oFile: String
});
Run Code Online (Sandbox Code Playgroud)
我想要做的是对于 uid,我想为上传照片的用户添加 ObjectId。我可以将其作为字符串传递,但是我认为我必须将该字段设置为 ObjectId,但似乎我不能这样做?
除非我遗漏了什么,否则我不妨在其中添加用户名并将其用作参考?
用于mongoose.Schema.Types.ObjectId使用 ObjectId 填充字段。在这种情况下,您将使用User(或您的用户模式的任何名称)。
var picSchema = new Schema({
uid: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
pid: String,
oFile: String
});
Run Code Online (Sandbox Code Playgroud)
除此之外,Populate如果您希望在Pic文档中扩展用户文档,还可以使用 Mongoose 方法。例如:
Pic.find({})
.populate('uid')
.exec(function(err, pic) {
console.log(pic);
// do something
});
Run Code Online (Sandbox Code Playgroud)