मेरे पास एक अनुरोध है जिसमें शरीर में डेटा होता है और _idMongoose.js: कैसे बनाएं या अपडेट को कार्यान्वित करें?
कोड लागू करने का बेहतर तरीका क्या है जो अद्यतन होगा यदि _id के साथ रिकॉर्ड मौजूद है और कोई बनायेगा तो कोई भी नहीं है? मेरा कोड:
var obj = req.body;
Model.findById(obj._id, function(err, data){
if (!data){
var model = new Model(obj)
model.save(function(err, data){
res.send({method: 'create', error: err, data: data})
})
} else {
Model.findByIdAndUpdate(obj._id, obj, function(){
res.send({method: 'update', error: err, data: data})
})
}
मैं बस सोच रहा हूं कि ऐसा करने का बेहतर तरीका है।
समस्या यह है कि "obj" _ id शामिल है, और अद्यतन के मामले में मैं यह पहले अद्यतन को निकालना होगा या मैं "मॉड _ id अनुमति नहीं पर" त्रुटि – WHITECOLOR
@WHITECOLOR अच्छा बिंदु मिलता है। 'अपडेट' से पहले इसे हटाने के लिए कोड अपडेट किया गया। – JohnnyHK
रगड़ है। मैं नव निर्मित (यदि यह अस्तित्व में नहीं है) आइटम को obj._id के बराबर _id रखना है, यदि ऑपरेशन बनाने से पहले obj से _id को निकालना है, तो mongo नया _id बना देगा। – WHITECOLOR