Javascript MongoDB没有';t推送/增量字段
我想用MongoDB增加一个数字并推送数组中的一个元素,但我的代码不起作用。Javascript MongoDB没有';t推送/增量字段,javascript,node.js,arrays,mongodb,push,Javascript,Node.js,Arrays,Mongodb,Push,我想用MongoDB增加一个数字并推送数组中的一个元素,但我的代码不起作用。 这是我的代码: let users = mongoose.db("wumpusCave").collection("users") let user = await users.findOne({"token": data.user}) let bot = mongoose.db("wumpusCav
这是我的代码:
let users = mongoose.db("wumpusCave").collection("users")
let user = await users.findOne({"token": data.user})
let bot = mongoose.db("wumpusCave").collection("bots").findOne({"id":data.bot})
if(user != null) {
if(user.likedBots != null) {
user.updateOne({$push: {"likedBots": data.id}})
console.log("bot a cui hai lasciato like aggiunto!!")
}
if(bot != null) {
bot.updateOne({$inc: {"like": 1}})
console.log("like aggiunto!")
}
}
错误:
user.updateOne({$push: {"likedBots": data.id}})
^
TypeError: user.updateOne is not a function
我该怎么办?谢谢你的建议,很抱歉英语不好 编辑:
通过使用此代码修复:
console.log(data)
let users = mongoose.db("wumpusCave").collection("users")
let user = await users.findOne({"token": data.user})
let bots = mongoose.db("wumpusCave").collection("bots")
let bot = await bots.findOne({"id":data.bot})
if(user != null) {
if(user.likedBots != null && bot != null) {
users.findOneAndUpdate({"token": data.user}, {$push: {"likedBots": data.id}})
console.log("bot a cui hai lasciato like aggiunto!!")
bots.findOneAndUpdate({"id":data.bot}, {$inc: {"like": 1}})
console.log("like aggiunto!")
}
}
})
insertOne
插入新文档。使用updateOne
更新现有文档。@WernfriedDomscheit不起作用。表示这不是一个函数:user.updateOne({$push:{“likedBots”:data.id}})^TypeError:user.updateOne不是一个函数function@WernfriedDomscheit我添加了完整的代码如果你从答案中得到了解决方案,那么接受答案是一个好习惯,而不是默默地复制/粘贴解决方案。
if(user != null && user.likedBots != null && bot != null) {
users.findOneAndUpdate({"token": data.user}, {$push: {"likedBots": data.id}})
console.log("bot a cui hai lasciato like aggiunto!!")
bots.findOneAndUpdate({"id":data.bot}, {$inc: {"like": 1}})
console.log("like aggiunto!")
}