Я изучаю мангуст и нуждаюсь в некоторой помощи. У меня есть 3 коллекции, и по одному вызову API я хочу создать 3 документа, которые ссылаются друг на друга; "Присоединяется к" ниже:Mongoose: 3-сторонний документ, соединяющий
- Пользователи - необходимость ссылки щебечет
- Видео - необходимость ссылки щебечет
- чирикает - нужно ссылаться на пользователей & щебечет
Вопрос: Я знаю, что Я могу сделать model.create() и передать новый документ в каждом обратном вызове, а затем обновить соответствующие документы, но мне было интересно, есть ли более чистый способ сделать это?
Извините, если я не понимаю вопроса. Пожалуйста, спросите меня, если что-то не имеет смысла.
Код
var chirpSchema = new mongoose.Schema({
date_created: { type: Date, default: Date.now }
, content: { post : String }
, _video: { type: $oid, ref: "video" }
, _author: { type: $oid, ref: "user" }
});
var chirp = mongoose.model('chirp', chirpSchema);
var userSchema = new mongoose.Schema({
date_joined: { type : Date, default: Date.now }
, cookie_id: String,
chirp_library: [{type: $oid, ref: "chirp"}]
})
var user = mongoose.model('user', userSchema);
var videoSchema = new mongoose.Schema({
date_tagged: { type : Date, default: Date.now }
, thumbnail_url : String
, _chirps: [{type: $oid, ref: "chirp" }]
});
var video = mongoose.model('video', videoSchema);
afaik, вы не можете делать ссылки в массиве, поэтому вы в основном сохраняете ссылку только на один '1' конец отношения «1-n» –
Можете ли вы объяснить «сохранить ссылку только один» 1 'конец' 1- n 'отношения "? – dmr07
У вас будет ссылка на видео и автора только в вашей схеме 'chirp'. Схемы 'user' и' video' не будут иметь его –