Mongodb POST响应返回0
Mongodb POST response returns 0?
我让它在事故中工作,不添加res.json(doc)
,但我发现,当我发出POST请求时,我需要发送响应,自从我添加了响应,我得到0或null?
add: function(req, res) {
//var newPlayer = new models.Team({ _id: req.params.tid }, { players: req.body });
models.Team.update({ _id: req.params.tid }, { $addToSet: { players: req.body} }, function(err, newPlayer){
if (err) {
res.json({error: 'Error.'});
} else {
res.json(newPlayer);
}
});
},
也尝试了findOneAndUpdate
,但我的POST请求显示0或null的响应。
我正在更新一个集合内的对象数组,它是嵌套的。下面是SCHEMA,只是为了清楚。
var Team = new Schema({
team_name: { type: String },
players: [
{
player_name: { type: String },
points: { type: Number },
made_one: { type: Number },
made_two: { type: Number },
made_three: { type: Number },
missed_one: { type: Number },
missed_two: { type: Number },
missed_three: { type: Number },
percentage: { type: Number },
assists: { type: Number },
rebounds: { type: Number },
steals: { type: Number },
blocks: { type: Number },
fouls: { type: Number },
feed: { type: String },
facebook_id: { type: Number }
}
]
});
所以我的问题是有人知道为什么我得到的是响应0吗?
更新方法不返回响应中的文档。回调参数是(err, numAffected)
,其中numAffected
是"update"语句触及的文档数量,可以进行"批量"(或多)处理。
您想要的是 findByIdAndUpdate()
或 findOneAndUpdate()
。根据您提供的参数,这些方法返回原始文档或修改后的文档。
add: function(req, res) {
models.Team.findByIdAndUpdate(
req.params.tid,
{ $addToSet: { players: req.body } },
function(err, newPlayer){
if (err) {
res.json({error: 'Error.'});
} else {
res.json(newPlayer);
}
}
);
},
相关文章:
- 调用Ajax并返回响应
- 可以链接 '.then() 的返回响应,顺序与 '.then()' 的顺序不同
- 节点.js和表达式:如何在异步操作后返回响应
- 嵌入 iframe 不会返回响应式设计
- 将数据从js发送到servlet并返回响应
- nodejs或expressjs在没有返回响应的情况下重复调用路由
- 回调返回响应,但当在API中发送时,响应在节点JS中显示为空白
- 挂起的回调:在每次回调返回之前返回响应
- AngularJS web服务是否应返回响应的深层副本
- 从PHP执行一个javascript函数并返回响应
- 在检查响应时在http之前返回响应
- 节点.js请求对象 - 返回响应正文以供进一步操作
- JavaScript/angular - 无法获取确切的返回响应数据
- 如何从 angularjs 服务中的异步调用返回响应
- 如何将返回响应的预定义 JavaScript 回调作为参数传递到函数中
- 为什么我的 XHR 调用等待对方返回响应
- XMLHttpRequest()在函数中返回响应
- Ajax请求在js检查后返回响应
- 执行javascript并返回响应(JavaFX/Swing)
- 在数组中填充$http/rest请求未返回响应的日期