javascript - MongoDB:插入复杂的数据结构

标签 javascript mongodb mean-stack

我已经阅读并搜索了 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/并寻找一些类(class),所有类(class)都是免费的并且解释得很好。

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

关于javascript - MongoDB:插入复杂的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49205156/

相关文章:

javascript - ‘node.js’: Does it need to be run a server?

javascript - 如何删除MongoDB中的文档和所有嵌入文档?

angularjs - Node.js 从返回未定义的 MongoDB 获取请求

javascript - 在 AngularJS 中动态填充下拉列表

javascript - 意见欢迎: Why MEAN stack and Node. js?

javascript - 在窗口加载时通过 URL 将值传递给 JS 函数

javascript - 使用 javascript 获取域名/主机名的最快方法

javascript - NodeJS 的 TypeScript ECMAScript 目标

Javascript Promise 过早解析

mongodb - 在 MongoDB 查询中,负限制是什么意思?