【发布时间】:2016-03-18 07:23:37
【问题描述】:
我想通过以下方式“连接”两个架构:
第一个是 User 架构,其中包括用户的电子邮件、密码和姓名:
var userSchema = new Schema({
local : {
email : String,
password : String,
name : String
}
});
第二个是公寓(列表)模式,其中包括有关公寓的详细信息,其中一个详细信息是所有者 - 这是 User:
var listingSchema = new Schema({
street : String,
buildingNumber : Number,
apartmentNumber : Number,
price : Number,
owner :{
type: Schema.ObjectId,
ref: 'User'
}
});
通常我会这样做:
db.listings.insert({"street" : "Gordon", "buildingNumber" : 40, "apartmentNumber" : 69, "beds" : 3, "price" : 2000}
但我现在想做的是这样的:
db.listings.insert({"street" : "Gordon", "buildingNumber" : 40, "apartmentNumber" : 69, "beds" : 3, "price" : 2000, "owner" : Idos})
我尝试了几种方法来传递此参数,但都失败了,如何(可以)实现?
【问题讨论】:
-
如果你使用Mongoose访问MongoDB,你应该在你的问题中这样说。
-
@DmytroShevchenko 添加到标题和标签,谢谢!
-
当
listing.insert{…, "owner" : Idos}是Idos时userSchema的模型实例? -
@laggingreflex 你帮了我很多,甚至不知道也许哈哈。我实例化了 var Idos = db.users.findeOne() 然后使用如图所示的插入,它起作用了!我将编辑问题
-
@laggingreflex 如果您愿意,我会接受您的回答(只需添加一个)- 解决我的问题的方法是声明一个 var Idos = db.users.find...... 然后使用列表.insert{..., "owner" : Idos} 就像你建议的那样。这行得通,我的问题解决了,非常感谢!
标签: json node.js mongodb mongoose nosql