gpt4 book ai didi

node.js - 使用 Mongoose 更新插入

转载 作者:太空宇宙 更新时间:2023-11-04 00:21:45 25 4
gpt4 key购买 nike

我有一个定义如下的架构

var UserSchema = mongoose.Schema({
user: {
ipAddress: String,
pollIDs: [{
id: String
}]
}
});

var User = module.exports = mongoose.model('User', UserSchema);

我想要创建的是一个检查请求 IP 地址的路由,查看它是否存在于数据库中,如果不创建一个新文档,并相应设置 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 - 使用 Mongoose 更新插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com