2017-06-06 80 views
1

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

代码片段(猫鼬架构,哈巴狗视图,主要):

// 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.我的问题与此类似,但不是重复的,因为他们谈论更新数据库中的现有数据,而我正在讨论将新数据添加到数据库。所以很明显,更新后它会出现在最后。但是当我想添加新数据时,我认为它应该看起来像我用猫鼬方案写的。所以,现在,我只知道它不是那么重要,但我想知道解决方案来解决这个错误的顺序,如果存在的话。

回答

0

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

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

但是,在MongoDB中,场序是重要的。查询嵌入式文档时,嵌入式文档必须匹配查询中指定的文档。更多的信息可以在here找到。