Mongoose schema和objectid refs

时间:2016-02-29 18:20:31

标签: javascript node.js mongodb mongoose

我无法理解,希望有人能够帮助我。

我基本上想要实现的目标是拥有多个地点,每个地点附有几个课程。

我有这个猫鼬模式:

var mongoose = require('mongoose');

var lessonNames = new mongoose.Schema({
  day: {type: String },
  name: {type: String},
  startTime: {type: String},
  endTime: {type: String}
});

var locationNames = new mongoose.Schema({
  name: {type: String, required: true},
  address: String,
  lessons: [ { type: mongoose.Schema.Types.ObjectId, ref: 'lessonnames'}]
});

mongoose.model('lessonnames', lessonNames);
mongoose.model('locationnames', locationNames);

我已经管理过,正在添加课程,并在同一过程中添加了一个位置,并且能够将课程ID设置为课程参考。

但是,如何添加课程并将其ID添加到现有位置? 我能够找到合适的位置,但我无法弄清楚如何添加新课程,其中课程参考填充了课程的ID。

谢谢!

2 个答案:

答案 0 :(得分:0)

到目前为止你尝试了什么?

保存课程后,您可以找到该位置并尝试location.lessons.addToSet(lesson.id)

http://mongoosejs.com/docs/api.html#types_array_MongooseArray.addToSet

答案 1 :(得分:0)

使用$push运算符

Math.abs()