2015-12-12 12 views
0

У меня есть две схемы, которые я хочу быть «связан» следующим образом:
Первым является User схемой, которая включает в себя пользователь электронной почты, пароль и имя:
Вставка схемы в другую схеме MongoDB (мангуста)

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}) 

Я попробовал несколько подходов к прохождению этого параметра, но не в все они, как (может) это быть достигнуто?

+0

Если вы используете [ Mongoose] (http://mongoosejs.com/docs/guide.html), чтобы получить доступ к MongoDB, вы должны сказать это в своем вопросе. –

+0

@DmytroShevchenko добавил к названию и тегу, спасибо! – Idos

+1

При выполнении 'listing.insert {...," owner ": Idos}' является 'Idos' образцом модели' userSchema'? – laggingreflex

ответ

0

Try инстанцировании 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}) 
Смежные вопросы