MongoDB: 插入复杂的数据结构

MongoDB: Inserting complex data structures

我已经阅读并搜索了 MongoDB 的 JSON-BSON 结构,但我不明白(也找不到)如何将文档插入到文档中以及如何查询它。

我想学习的是,如果有人想像在学校那样在数组中存储文档数组:

  const university = mongoose.Schema(
  {
     name : {type : String, require : true, unique : true},
     school : [{
        schoolName : String
    }]
  });

还有,如果我给出类似名称,要在文档数组中插入的查询是什么?我是 MongoDB.

的新人

要插入数据:

const University = mongoose.model('university')
const university = new University({
  name: 'Harvard',
  school: [
    {name: 'One'},
    {name: 'One'},
  ]
})
university.save(function (err, university) {
  console.log(university)
})

在数组内部查询

const University = mongoose.model('university')

// To look for an element in the array
University.find({ 'school.name': 'One' }, function (err, universities) {
  console.log(universities)
})

// To look for an element in an specific position
University.find({ 'school.0.name': 'One' }, function (err, universities) {
  console.log(universities)
})

要在数组中插入一个元素:

要做到这一点,必须使用 $push 运算符,该运算符允许将值附加到数组。

const University = mongoose.model('university')
University.update(
  { name, 'Harvard' },
  {
    $push: {
      school: {name: 'Three'}
    }
  },
  function (err, universities) {}
)

你可以去 https://university.mongodb.com/ 找一些课程,都是免费的,而且解释得很好。

同时查看 mongodb and mongoose 的文档会对您有很大帮助。