Fondamentalmente sto cercando di aggiornare più oggetti sul mio database Mongo in base al loro objectID univoco (_id). Ho provato i seguenti, ma non hanno funzionato:Aggiornamento di più oggetti MongoDB tramite il loro _id univoco utilizzando Node.js
var new_arr = [];
for (var i = 0; i < req.body.length; i++) {
// req.body is an array received from the POST request.
new_arr.push({"_id": new mongodb.ObjectID(req.body[i])})
}
console.log(new_arr);
// new_arr is not accepted since an object is expected.
job_applications.updateMany(
new_arr
,
{
$set: {"application_status": "rejected"}
}, function (err, results) {
console.log(results);
console.log(err);
if (!err) {
console.log('success with reject');
res.sendStatus(200);
}
}
);
Ho anche provato a seguire senza fortuna.
var job_applications = req.app.locals.job_applications;
var new_arr = [];
for (var i = 0; i < req.body.length; i++) {
// req.body is an array of unique IDs (_id)
new_arr.push(new mongodb.ObjectID(req.body[i]))
}
var send_obj = {
"_id": new_arr
};
job_applications.updateMany(
send_obj
,
{
$set: {"application_status": "rejected"}
}, function (err, results) {
console.log(results);
console.log(err);
if (!err) {
console.log('success with reject');
res.sendStatus(200);
}
}
);
L'unica soluzione che ho trovato a questo problema è stato quello di trasmettere updateOne multipla() richieste per ogni oggetto da MongoDB, ma che è molto inefficiente. Credo che ci debba essere una soluzione più efficiente a questo problema. Qualsiasi aiuto/guida è molto apprezzato.
Grazie! Signore, mi hai salvato la vita :) – Aryan