簡體   English   中英

如何使用 NodeJS 更新子文檔 mongoose

[英]How to update subdocument mongoose with NodeJS

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 中它不會改變任何東西

對不起,我的英語不好

修改這一行:var Email = mongoose.model('Email', emailSchema)。 Mongoose 將創建一個名為:'emails' 的集合

 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() 方法試試這個語法:

 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}); }); },

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM