1
das ist meine Buchung SchemaPush Objektarray in mongodb mit Mungo
const mongoose = require('mongoose')
const schema = mongoose.Schema;
let booking = {
statusNumber: { type: Number },
service: {
hair: {
avaliable: { type: Number },
accepted: { type: Number },
acceptedBy: [{
artistId: { type: String },
noOfServices: { type: Number }
}]
},
makeUp: {
avaliable: { type: Number },
accepted: { type: Number },
acceptedBy: [{
artistId: { type: String },
noOfServices: { type: Number }
}]
},
}
}
module.exports = mongoose.model('booking', booking)
Ich versuche, meine Buchung mit folgendem Code
const acceptBooking = {
method: "POST",
path: "/artist/acceptBooking",
handler: (req, res) => {
console.log(req.payload)
services.booking.get({ _id: req.payload.bookingId }, (err, result) => {
if (err || result.lenght == 0) {
res("error")
} else {
let hairAcceptedBy = {
artistId: req.payload.techId,
noOfServices: req.payload.hair
}
let makeUpAcceptedBy = {
artistId: req.payload.techId,
noOfServices: req.payload.makeUp
}
console.log(hairAcceptedBy)
console.log(makeUpAcceptedBy)
let updateObject = {
service: {
hair: {
avaliable: result[0].service.hair.avaliable - req.payload.hair,
accepted: (result[0].service.hair.accepted == undefined ? 0 : result[0].service.hair.accepted) + req.payload.hair,
$push:{acceptedBy: hairAcceptedBy}
},
makeUp: {
avaliable: result[0].service.makeUp.avaliable - req.payload.makeUp,
accepted: (result[0].service.makeUp.accepted == undefined ? 0 : result[0].service.makeUp.accepted) + req.payload.makeUp,
$push:{acceptedBy: makeUpAcceptedBy}
}
}
}
services.booking.update({ _id: req.payload.bookingId }, updateObject, (err, affected, result) => {
console.log("AFFECTED>>>>>", affected)
console.log("RESULT>>>>>", result);
res("booking done")
})
}
})
und Funktion sieht mein Update zu aktualisieren, wie
exports.update = (data, updateData, callback) => {
console.log('mongo log for update function', data)
modelUser.update(data, updateData, callback);
}
meine Update-Funktion funktioniert und Aktualisierung vorhanden und akzeptiert, aber nicht drücken ing in acceptedBy Array
habe ich versucht, dies aber nicht funktioniert –
können Sie diesen Link verweisen http://stackoverflow.com/questions/15621970/pushing- Objekt-in-Array-Schema-in-Mungo habe ich von hier aus probiert und arbeite für mich. –
funktioniert nicht Ich denke, das Hauptproblem ist, dass ich 2 Arrays in der gleichen Abfrage drängen. –