mongoose.updateOne()总是更新第一个文档

编程入门 行业动态 更新时间:2024-10-08 00:29:11

mongoose.updateOne()总是更新<a href=https://www.elefans.com/category/jswz/34/1770593.html style=第一个文档"/>

mongoose.updateOne()总是更新第一个文档

我正在为不和谐的机器人发出命令,我要在其中编辑文档中的用户信息。该命令看起来像!edit @tag email language一样有效,但是无论谁ping它都将始终更改MongoDB中的第一个文档。

let user = message.mentions.users.first()

Data.findOne({
     userID: user.id,
}, (err, data) => {
    if (err) return console.log(err);

    if (!data) {
         return message.reply("That user isn't in list")
    } else {
         Data.updateOne({
             language: args[2],
             email: args[1]
         }, (err) => {
             if (err) throw err;
             let embed = new Discord.MessageEmbed()
                    .addField("Name", data.name);
                message.channel.send(embed)
            })
        }

Data.js

const mongoose = require("mongoose");

const dataSchema = mongoose.Schema({
    name: String,
    language: String,
    email: String,
    userID: String,
    lb: String,
    usage: Number
})

module.exports = mongoose.model(`Data`, dataSchema)

这是我的文档的样子

回答如下:

也许您应该尝试此

Data.findOneAndUpdate({ userID: user.id}, {$set:{language: args[2], email: args[1]}, {new:true}). exec((err, data) => { //further response with updated data }) ;

更多推荐

mongoose.updateOne()总是更新第一个文档

本文发布于:2024-05-07 10:26:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1755820.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:第一个   文档   mongoose   updateOne

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!