gpt4 book ai didi

node.js - Mongoose 查询未返回更新信息 { new : true } param

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:21 25 4
gpt4 key购买 nike

为什么我的查询没有返回更新的信息?

UserSchema.findByIdAndUpdate(
{ _id: userId },
{ $set: { couponList: couponList } }, { new: true }).populate('couponList').exec().then(user => {

// user returning with the old information

}).catch(err => console.log(err));

我有 3 个参数:

  • 第一个是我要更新的用户 ID (objectId)
  • 第二个是我要更新的信息(objectId 数组)
  • 第三个是表示我想接收更新信息的标志( bool 值)

我的优惠券架构如下:

import mongoose from 'mongoose';

const CouponSchema = new mongoose.Schema({
name: {
type: String,
default: 'Unknown'
},
description: {
type: String,
default: undefined
},
validity: {
type: Date,
default: null
},
code: {
type: String,
default: undefined
},
blackList: {
type: Array,
ref: 'user',
default: []
},
blackListFlag: {
type: Boolean,
default: false,
},
whiteList: {
type: Array,
ref: 'user',
default: []
},
limit: {
type: Number,
default: 0,
},
counter: {
type: Number,
default: 0,
},
amount: {
type: Number,
default: 0,
},
discountType: {
type: String,
default: undefined,
}

}, { collection: 'coupon' });

export default mongoose.model('coupon', CouponSchema);

在我的用户架构中,我有一个对优惠券架构的引用:

couponList : {
type: Array,
ref: 'coupon',
default: []
},

最佳答案

我认为您需要在架构中定义字段 couponList。

编辑:刚刚注意到 UserSchema,理论上,如果您推送正确的 objectId,应该没问题。

关于node.js - Mongoose 查询未返回更新信息 { new : true } param,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53925569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com