【发布时间】:2021-06-02 14:49:41
【问题描述】:
我有一个用户和一个高级架构。高级版嵌入在用户中。
const premiumSchema = new mongoose.Schema(
{
subscriptionID: {
type: String,
required: true,
},
guild: {
type: Object,
default: {},
},
payment_id: {
type: String,
required: true,
},
expiry: {
type: Date,
require: true,
},
reminded: {
type: Boolean,
default: false,
},
},
{ collection: "premium" }
);
const userSchema = new mongoose.Schema({
discordId: {
type: String,
required: true,
},
accessToken: {
type: String,
required: true,
},
premium: {
type: [premiumSchema],
required: false,
},
});
我正在尝试通过以下方式更新我的高级收藏的价值:
const user = await User.findOne({
"premium._id": new ObjectId(req.body.premiumId),
});
const premium = user.premium.id(new ObjectId(req.body.premiumId));
premium.reminded = true;
await user.save();
问题在于它更新了我的user.premium 数组中的reminded 属性,但没有在高级集合本身中更新它。是不是我做错了什么?
【问题讨论】:
标签: javascript mongodb mongoose