Ich versuche, das Array von Objekten zu validieren, bevor Sie sie in den Mongodb einfügen.Validieren aller Daten mit DB vor dem Bulk einfügen mongoose/mongodb
, was ich versuche zu tun, lässt ich ein Objekt sagen haben wie unter
var data= { prodDetails:
[
{ measured: 'Liters',
name: 'A',
prodCode: '713',
status: true },
{ measured: 'Liters',
name: 'B',
prodCode: '713',
status: true },
{ measured: 'Liters',
name: 'C',
prodCode: '674',
status: true }
]
};
vor einer Masseneinfügung Anruf i überprüfen möchten, ob die gegebene prodCode
gültigen DB-Code ist oder nicht, und name
vervielfältigt oder nicht
i node
bluebird
Versprechen verwenden.
Ich habe versucht, den folgenden Code prodCode
var bulkOperations = {
bulkProdInsert: function (body) {
return new Promise(function (reslv, rej) {
if (body.prodDetails.length > 0) {
common_lg.getValueById(body, "typesProd", body.prodDetails[0].prodCode).then(bulkOperations.successCallback(reslv, rej, body)).catch(bulkOperations.errCallback(reslv, rej, body));
};
reslv();
});
},
successCallback: function (reslv, rej, body) {
return function (res) {
if (res) {
body.prodDetails.splice(0, 1);
if (body.prodDetails.length > 0) {
common_lg.getValueById(body, "typesProd", body.prodDetails[0].prodCode).then(bulkOperations.successCallback(reslv, rej, body)).catch(bulkOperations.errCallback(reslv, rej, body));
}
};
};
},
errCallback: function (reslv, rej, body) {
return function (err) {
body.prodDetails.splice(0, 1);
if (body.prodDetails.length > 0) {
common_lg.getValueById(body, "typesProd", body.prodDetails[0].prodCode).then(bulkOperations.successCallback(reslv, rej, body)).catch(bulkOperations.errCallback(reslv, rej, body));
};
};
}
};
zu überprüfen, aber ich will, ist tun, um alle Objekte/Dokumente in DB einfügen, wenn name
und prodCode
aller Objekte/Dokumente validiert.
, wie dies zu erreichen.
dank