带有byId()的NodeJS额外字段;
目前我正在研究一个nodeJS API,我有一个模型,而且这个模型可以包含媒体项目,就像你在我的代码中看到的那样:
router.get('/:id', function(req, res, next) { qbuilder.byId(Model,req) .exec( function(err,model){ Media.count({'model.entity': model._id}, function(err, media){ if(media){ console.log(media); } }); model.total_media = 15; responders.sendJsonOrError(err, res, model, next); }); });
问题是,该代码:
model.total_media = 15;
没有出现在响应者中,这很奇怪,因为如果我用下面的方法清理对象:model = []; 它返回空。
一旦我添加lean()到我的查询,它会返回total_media响应者,但是当我这样做时,我得到的问题是:
router.get('/:id', function(req, res, next) { qbuilder.byId(Model,req) .exec( function(err,model){ Media.count({'model.entity': model._id}, function(err, media){ if(media){ model.total_media = media; } }); responders.sendJsonOrError(err, res, model, next); }); });
这不是填充total_media,有没有其他的方法来正确地做到这一点?
试试这个。 响应在分配值之前发送。
router.get('/:id', function(req, res, next) { qbuilder.byId(Model,req) .lean().exec( function(err,model){ Media.count({'model.entity': model._id}, function(err, media){ if(media){ model.total_media = media; } responders.sendJsonOrError(err, res, model, next); }); }); });
- 带有可能的空参数的find()语句
- 保存用户的collections夹
- MongoDB – Mongoose:聚合生成,$ match $ group $项目
- MongoError:游标已经死了(mongo节点驱动程序)
- Moongose:按mathsorting,在string数组中search多个值
- 如何dynamic地在MongoDB上创build子文档
- mongoose得不到工作(SchemaType#get(fn))
- Node.jsfile upload(Express 4,MongoDB,GridFS,GridFSstream)
- MissingSchemaError:架构没有被注册为模型,mongoose.model在架构之前调用