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显示 - 至少 - 现在的错误。未定义不是一个函数,正如预期的那样。