2016-08-16 3 views
1

ブログアプリケーションで作業しています。今はオンラインエディタをコーディングしていますが、何も想像もできません。Mongodb入れ子配列でデータをプッシュするためにオブジェクトの配列を反復する方法

私は私の問題は、私が使用しているこのスキーマ考慮する説明を始める前に:

[{"type":"h2","body":"azeaeazeae"},{"type":"p","body":"azeaeazeae"}] 
:私のクライアント側で

var blogSchema = restful.model('blog-schema', mongoose.Schema({ 
    title: String, 
    preview: String, 
    content: [{tag: String, body: String}], 
    comments: [{ body: String, date: Date}], 
    createdAt: {type: Date, default: Date.now} 
} 

を、私はこのようになり、データを投稿するreactを使用していますその後

blogSchema.update(
    {title: "please work AGAIN"}, 
    { 
    $pushAll: { 
     content: test 
    } 
}, 
function(err, stat, docs) { 
    console.log(stat); 
} 
) 

その後express()以内に、私はこれを行いますPOSTMANとデータがよく保存されている場合、私はチェックして、私はこれだ:私のサーバーに、私は、オブジェクトのこの配列を繰り返し処理することができ、その後、それぞれの場所に一つ一つのアイテムをプッシュする方法

"content": [  
{ 
    "tag": "[object Object],[object Object]", 
    "_id": "57b2eced869e03821d446c38" 
} 

私の質問、:tagをし、 body

答えて

1

私はそれを見つけた:

app.post('/admin', function(req, res) { 
    var test = req.body; 

    test.map(function(test, i) { 
    blogSchema.update(
    {title: "please work AGAIN"}, 
    { 
     $push: { 
     content: { 
      test: test.type, 
      body: test.body 
     } 
     } 
    }, 
    function(err,stat,dude){ 
     console.log(stat); 
    }) 
}) 

Iシンプルな...私が投稿していることが申し訳ないreq.bodyをマッピングし、その後、モンゴ内$プッシュを実行します。ここに

コードがありますこの質問。だから幸せだ!

+1

もう1つ質問がありますが、なぜmongodbがプッシュされた各要素に対して_idを作成するのですか? { "テスト": "H2"、 "本体": "一部の本文"、 "_id": "57b2f1260397195a1f49ac64" } – MaieonBrix

+0

[このリンク(https://docs.mongodb.com/manual /reference/method/db.collection.insert/#id-field)は、コメント内の質問の答えをあなたに与えるかもしれません。 – Shrabanee

関連する問題