【发布时间】:2020-07-06 16:02:38
【问题描述】:
我已经为这个问题苦苦挣扎了好几天。由于某种未知原因,无论我尝试何种替代方法,特定字段(“reviewCounts”)都不会增加。
这是我的架构
let itemSchema = new mongoose.Schema({
rank: Number,
image: String,
name: String,
title: String,
count: Number,
category: String,
ratings: Object,
reviewCounts: Number,
reviews: Array,
tags: Object,
})
这是更新方法:
Item.findOneAndUpdate({name: item,title:title}, {
$inc:{"reviewCounts":1},
$set:averageQuery,
$inc:query
},{strict:false},
function (err, data) {
}
}
$inc 完全可以在“查询”上找到,但它不会增加“reviewCounts”。我曾尝试使用$set 手动设置该值,但这也不起作用。我仔细检查并确认该字段是 int32 符合预期。这个问题背后的原因可能是什么?
【问题讨论】:
-
你能试试像
$inc:{ ...query, "reviewCounts":1 }这样的单一$inc吗? -
@mickl 成功了!谢谢!请问您的方法有效的原因是什么? mongoose 不允许多个 $inc 吗?
标签: javascript mongodb mongoose mongodb-query