【问题标题】:Inserting a schema to another schema mongodb (mongoose)将模式插入到另一个模式 mongodb (mongoose)
【发布时间】: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}IdosuserSchema 的模型实例?
  • @laggingreflex 你帮了我很多,甚至不知道也许哈哈。我实例化了 var Idos = db.users.findeOne() 然后使用如图所示的插入,它起作用了!我将编辑问题
  • @laggingreflex 如果您愿意,我会接受您的回答(只需添加一个)- 解决我的问题的方法是声明一个 var Idos = db.users.find...... 然后使用列表.insert{..., "owner" : Idos} 就像你建议的那样。这行得通,我的问题解决了,非常感谢!

标签: json node.js mongodb mongoose nosql


【解决方案1】:

尝试像这样实例化 User
var Idos = db.users.findOne() // 或 find(...) 那么:

 db.listings.insert({"street" : "Dizingof", "buildingNumber" : 33, "apartmentNumber" : 63, "beds": 3,
"owner" : Idos})

然后像这样将其插入数据库:

db.listings.insert({"street" : "Gordon", "buildingNumber" : 40, "apartmentNumber" : 69, "beds" : 3, "price" : 2000, "owner" : Idos})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2014-08-18
    • 2016-02-15
    相关资源
    最近更新 更多