0
我們在Mongoose中擁有多對多的合作關係。該對象支持在保存之前迭代它引用的所有對象。我們正在嘗試使用lodash生成具有正確的上下文中的功能,但我們所得到的是null
mongoose&lodash:__.map返回空數組
這裏一個數組的代碼:
PartnerSchema.pre("save", function(done) {
var updaters = __.map(this.partner, function(partner) { // this.partner is an array of ObjectIds
// this runs, and the argument is fine
var update = function updateThing(cb) {
Company.findOne({_id: partner}, function(err, company) {
if (err) return cb(err);
company.partners = __.map(company.partners, function(partner) {
if (partner._id === this._id) {
return this;
}
else {
return partner;
}
})
company.save(function(err, rowsAffected) {
cb(err);
})
})
}
console.log(update); // [Function]
return update;
})
// updaters is now [null, null]
async.parrallel(updaters, function() {
done();
})
})
編輯:我們發現爲什麼發出任何錯誤。 Mongoose ate them all!。降級到4.0.8顯示 - 至少 - 現在的錯誤。未定義不是一個函數,正如預期的那樣。