आप Model.prototype.update
का इस्तेमाल कर सकते हैं
नेवला में उप-दस्तावेज़ को अद्यतन करने के लिए timings
।
हालांकि दो परिदृश्य मौजूद हैं -
- यदि आप डुप्लिकेट की जांच किए बिना प्रविष्टियों को आगे बढ़ाना चाहते हैं तो
$push
ऑपरेटर
var filter = {
_id: mongoose.Types.ObjectId('<USER_ID>')
};
var update = {
$push: {
timings: {
startTime: "",
endTime: "",
elapsedTime: ""
}
}
};
db.collection.update(filter, update);
- यदि आप केवल विशिष्ट प्रविष्टियों को आगे बढ़ाना चाहते हैं तो
$addToSet
ऑपरेटर
var filter = {
_id: mongoose.Types.ObjectId('<USER_ID>')
};
var update = {
$addToSet: {
timings: {
startTime: "",
endTime: "",
elapsedTime: ""
}
}
};
db.collection.update(filter, update);
नोट:mongoose
की आवश्यकता है पहले
const mongoose = require('mongoose');
नीचे अपना कोड ठीक करें, साथ ही आपको सटीक उप-दस्तावेज़ की आईडी नहीं मिल सकती है, लेकिन आप अद्यतन रूट दस्तावेज़ प्राप्त कर सकते हैं -
const updatedUser = await User.findOneAndUpdate({
_id: mongoose.Types.ObjectId(req.body._id)
},
{
$addToSet: {
timings: {
startTime,
endTime,
elapsedTime
}
}
}, {
new: true
}).exec();