用Mongoose插入
我有一个像这样定义的模式
var UserSchema = mongoose.Schema({ user: { ipAddress: String, pollIDs: [{ id: String }] } }); var User = module.exports = mongoose.model('User', UserSchema);
我想要创build一个路由,检查请求的IP地址,看看它是否存在于数据库中,如果它不创build一个新的文档与相应的ipAddress属性设置和当前req.body.poll_id是一个元素在pollIDs数组中。
但是,如果有一个具有该IP地址的文档,我希望将req.body.poll_id 推入到pollIDs数组中。
我会演示我的第一次尝试,但我知道我搞砸了findOneAndUpdate调用的参数。
应该如此简单:
User.findOneAndUpdate( {'user.ipAddress': req.body.ipAddress}, {$push: {'user.pollIDs': {id: req.body.poll_id}}}, {upsert: true, new: true}, (err, doc) => {...});
upsert将采取查询对象,并在需要插入新文档的情况下对其应用更新操作。
- 模块化node.js / socket.io / express应用程序的最佳方法
- Node + Express:导致应用程序退出的loadtest错误:接受ENFILE
- 每小时更新DB(mongo)的最佳方法?
- node.js中的res.setHeader和res.header之间的区别
- node.js + socket.io + redis体系结构 – 水平serverscaling套接字连接?
- 风帆视图结构
- 从callback函数中返回一个对象,这样一个包装函数可以返回node.js / express中的同一个对象
- Express-Generator(NodeJS)的'npm start'
- expressjs mysql更新错误