私は以下の文書を持っています。私がしようとしているのはIDを設定せず、各文書から_idを保持することです。mongdbの文書から未設定のidフィールド
"educations": [
{
"_id": ObjectId("58ec7aaaa3c19b8793805cca00e"),
"school": "xyz",
"type": "pqr",
"updatedAt": ISODate("2017-04-11T06:36:03.588Z"),
"createdAt": ISODate("2015-03-05T12:32:26.735Z"),
"obj_type": "education",
"current": false
},
{
"_id": ObjectId("58eceeeee353c19b673805cca00f"),
"school": "KTH",
"type": "tun",
"updatedAt": ISODate("2017-04-11T06:36:03.588Z"),
"createdAt": ISODate("2015-02-16T23:17:12.393Z"),
"obj_type": "education",
"id": ObjectId("574eassssh83cbee22336d2d4"),
"current": false
},
{
"createdAt": ISODate("2016-08-19T07:31:12.640Z"),
"updatedAt": ISODate("2016-08-19T07:31:12.640Z"),
"type": "abc",
"school": "KTH",
"duration": "3+ år",
"_id": ObjectId("57bsssss687dfec6716dd75"),
"current": false
}
]
var query = {
$unset: {}
};
query.$unset['profile.educations.'+index+'.id'] = 1;
models.User.update({_id: user._id},query, function(err, val){
//some operation
});
私がここで間違って何をしましたか?いくつかの提案は非常に高く評価されています。これは、同じクエリで、mongoコンソールでそれを削除して動作します。
あなたの文書は、組み込みのための 'profile'ルートキーを持っていないようですサブ文書 ''profile.educations。' + index + '。id''、おそらく' '教育を意味しましたか?+ index +'。id''? – chridam
@chridamその元のプロファイルのサブ文書 – Bikash
'User'モデルのスキーマ定義の完全な文書構造を表示できますか? – chridam