首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用NodeJS更新子文档mongoose

如何使用NodeJS更新子文档mongoose
EN

Stack Overflow用户
提问于 2020-11-23 05:55:11
回答 1查看 30关注 0票数 0
代码语言:javascript
运行
AI代码解释
复制
console.log("check")
 
Email.findOneAndUpdate(
    { _id: req.params.idUser, "sendedEmail.emailId": req.params.idEmail},
    { 
        $set: {
            "sendedEmail.$.isSeen": true
        }
    },
    function(error) {
        if (error) {
            console.log(error);
        }
    }
);

var emailList = await Email.find()

res.send(emailList)

它在本地主机上工作得很好,但是在vps中它不会改变任何东西

对不起,我的英语不好

EN

回答 1

Stack Overflow用户

发布于 2020-11-23 06:13:04

修改此行: var Email = mongoose.model('Email',emailSchema)。Mongoose将制作一个名为“电子邮件”的集合。

代码语言:javascript
运行
AI代码解释
复制
const mongoose = require('mongoose');  
var emailSchema = new mongoose.Schema({     subscriberEmail: String,    sendedEmail: Array,     },     {        versionKey: false     } )  
var Email = mongoose.model('Email', emailSchema); 
module.exports = Email;

在findById()方法中尝试此语法:

代码语言:javascript
运行
AI代码解释
复制
updateEmail: (req, res) => {
        let Id = req.params.id;
        Email.findById(Id, (err, res) =>{
            if(err) return res.status(500).send({message: 'Error to find'});        
        }); 

        let update = req.body;
        Email.findByIdAndUpdate(Id, update, {new: true}, (err, EmailUpdated) => {
            if(err) return res.status(500).send({message: 'Error while updating'});
            if(!EmailUpdated) return res.status(404).send({message: 'Email doesnt exist'});
            return res.status(200).send({email: EmailUpdated});
        });
    },

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64963211

复制
相关文章

相似问题

领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档