【发布时间】:2015-10-25 12:15:42
【问题描述】:
我正在通过尝试使用 Postman 更新具有文件名的数组来测试 API。 当我使用 mongo 查询时,该数组为空。 具有图像数组的用户模型:
var UserSchema = new Schema({
name: String,
email: { type: String, required: true, validate: [validate.email, 'invalid email address'],
index: { unique: true }},
password: { type: String, required: true, select: false },
images: [{ name: String }]
});
apiRouter express 路由器:
apiRouter.put('/images/:user_id/:file_name', function(req, res){
User.findById(req.params.user_id, function(err, user) {
//console.log(req.params.user_id);
//console.log(req.params.file_name);
user_id = req.params.user_id;
file_name = req.params.file_name;
user.update({$addToSet:{'images': file_name}});
user.save(function(err) {
if (err) return res.send(err);
res.json({ message: 'User updated!' });
});
});
});
邮递员:
PUT http://localhost:3000/api/images/5626fd2903c49d6231518c9/imageA
和 mongo db.find():
"images" : [ ]
file_name 包含正确的“imageA”值,但您可以看到 images 数组为空。
【问题讨论】:
-
你的意思是说图像名称没有插入 mongodb 对吗?
标签: node.js mongodb express postman