2017-04-20 15 views
0

ような文書構造は、私は次のクエリを使用してcontext_task.taskにデータを追加するMongoDBmongoDBで新しいレコードのIDを取得する方法は?

{ 
"_id" : ObjectId("58f7d556aa52ce456672a67e"), 
"created" : ISODate("2017-04-19T21:23:34.315Z"), 
"context_task" : [ 
    { 
     "task" : "some text ", 
     "status" : false, 
     "_id" : ObjectId("58f7d559aa52ce456672a67f") 
    } 
], 
"head" : { 
    "userID" : "58f48037fc894e19a3f7b81b", 
    "head_task" : "test record " 
}, 
"__v" : 0 
} 

である:

task.findOneAndUpdate({"_id": req.body.id_project}, 
      {$push: {'context_task': {'task': req.body.input_task,'status': false}}},{new: true}, 
      function (err, doc) { 
       if (err) return next(err); 
       var body = req.body.id_project+","+req.body.input_task; 
       console.log(doc); 
       res.status(200).send(body); 
      }); 

は、どのように私はAのcontext_task._idを得ることができ、教えてくださいそれを挿入した後に新しいレコード?この場合、ドキュメント全体が返されます。

+0

現在ドキュメント全体を返す場合は、returnval.idを実行してidを取得するだけでよいです。 – ControlAltDel

+1

doc.context_task [doc.context_task.length-1] ._ idについては、 –

+0

@RatanKumar、多くのありがとうございます私のために、これは私が必要なものです! –

答えて

0

すべてのmongo documentはデフォルトの_idに関連付けられています。指定されていない場合はObjectIdになります。

_idの値を他の目的に使用したい場合は、自分の_idの値を持たないと、コレクション全体で一意でなければなりません。値は任意のデータ型でもネストされていてもかまいません。

関連する問題