Je gebruikt niet de juiste veldnamen in je B.update
telefoongesprek. Het zou in plaats daarvan dit moeten zijn:
B.update(
{ 'PDFs._id': pdf_id }, // <== here
{ $set: {
'PDFs.$.title': 'new title' // <== and here
}}, function (err, numAffected) {
if(err) throw err;
assert.equal(numAffected,1);
}
);
Je moet ook je reset
herstellen functie om de callback niet aan te roepen tot de save
voltooit:
function reset(cb) {
B.find().remove();
// create some data with a nested document A
var newA = new A( { title : "my title" })
var newB = new B( { PDFs: newA});
newB.save(cb); // <== call cb when the document is saved
}