2017-06-06 85 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找到。