我的MongoDB的结构是这样的......
Database (Job Application Database)
...
Nested Array of Objects (Applicants)
...
Another Nested Array of Objects (Comments)
我有这个代码可以正常更新嵌套数组
JobApplication.findOneAndUpdate(
{ _id: new ObjectId(data.job_app_id), 'applicants._id' : new ObjectId(data.selected_applicant_id) },
{'$push': {'applicants.$.comments': data.message}},
{safe: true, upsert: true, new : true},
function(err, model) {
console.log(err);
console.log(model);
}
)
我遇到的问题是它没有返回添加的对象。我不仅仅返回data.message
的原因是因为我需要对象的_id。有没有办法返回添加的对象?
答案 0 :(得分:0)
`JobApplication.findOneAndUpdate(
{ _id: new ObjectId(data.job_app_id), 'applicants._id' : new ObjectId(data.selected_applicant_id) },
{'$push': {'applicants.$.comments': data.message}},
{safe: true, upsert: true, new : true},
function(err, model) {
if(err) return JSON.stringify(err)
if(model){
console.log(model) }
)`