2017-06-06 8 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.私の質問はそれに似ていますが、複製されていません。なぜならDBに新しいデータを追加することを話しながら、DBの既存のデータを更新することについて話したからです。更新後は最後に表示されることは明らかです。しかし、新しいデータを追加したい場合は、私がマングース方式で書いたように見えるべきだと思った。だから、今のところ、私はそれがあまり重要ではないことを知っているだけですが、もし存在すれば、この間違った順序を解決する解決策を知りたいと思います。

答えて

0

MongoDBではこの順序が重要なのでしょうか?

ほとんどの場合、ドキュメント内のフィールドの順序は重要ではありません。 MongoDBはデータレコードをBSON文書として保存します。 BSONはJSON文書のバイナリ表現です(source)。 Javascript does notオブジェクトのプロパティの順序を保証します。

しかし、MongoDBでは、フィールドの順序が重要な状況があります。埋め込みドキュメントをクエリするとき、埋め込みドキュメントは正確にとクエリで指定されたドキュメントと一致する必要があります。詳細はhereを参照してください。

関連する問題