以错误的顺序在MongoDB中保存数据

时间:2017-06-06 17:47:58

标签: javascript node.js mongodb

使用Express和MongoDB的Nodejs应用程序。我有表格插入标题,作者和正文。在提交数据后,我注意到它不是标题,作者和正文,而是看起来像身体,作者和头衔。那么,我想知道这个命令在MongoDB中很重要吗?为什么它会改变立场。 Image shows how it should be and what i got.

代码片段(mongoose schema,pug view,main):

// article schema
let articleSchema = new Schema({
    title: String,
    author: String,
    body: String
})

  label Title:
  input.form-control(name='title', type='text')
#form-group
  label Author:
  input.form-control(name='author', type='text')
#form-group
  label Body:
  textarea.form-control(name='body')

article.title = req.body.title
article.author = req.body.author
article.body = req.body.body

P.S。应用程序只在DB中处理令人困惑的订单。

P.P.S。我的问题与此类似,但不是重复的,因为他们谈到了更新数据库中的现有数据,而我正在谈论向数据库添加新数据。所以很明显,更新后它最终会出现。但是当我想要添加新数据时,我认为它看起来应该像我用mongoose方案编写的那样。所以,就目前而言,我只知道它不是那么重要,但我想知道解决方案来解决这个错误的订单(如果存在的话)。

1 个答案:

答案 0 :(得分:0)

  

所以,我想知道这个命令在MongoDB中很重要吗?

在大多数情况下,不,文档中字段的顺序并不重要。 MongoDB将数据记录存储为BSON文档。 BSON是JSON文档的二进制表示(source)。 Javascript does not保证对象属性顺序。

但是,MongoDB中存在字段顺序很重要的情况。查询嵌入文档时,嵌入文档必须完全匹配查询中指定的文档。可以找到更多信息here