当前位置: 首页 > 知识库问答 >
问题:

node.js mongoose无法更新某些字段

尚宏硕
2023-03-14

我试图更新mongodb集合的某个值,但没有成功,它只更新一个字段,而不更新另一个字段,下面是我的代码,
模式:

var clientSchema = new mongoose.Schema({
emailaddress: {type: String, index: {unique: true}}
, firstname: String
, lastname: String
, domainname: String
, company: String
, password: String
, plan: String
, datePayment: {type: Date, default: Date.now}
, experationPayment: {type: Date, default: Date.now}
});
model.findById(id, function (error, data) {
                    if (error) {
                        ...
                    }
                    else {
                        if (!data) {
                           ...
                        }
                        else {
                            console.log('data before:', data);
                            var date = new Date();
                            var expTime = data.experationPayment;
                            var comp = new Date();
                            if (date.getTime() > expTime.getTime()) {
                                comp = date;
                            }
                            else {
                                comp = expTime;
                            }
                            comp.setMonth(comp.getMonth() + month);
                            data.plan = plan;
                            data.datePayment = date;
                            data.experationPayment = comp;
                            console.log('data after:', data);
                            data.save(function (error) {
                            if (!error) {
                                   console.log('plan successfully updated ');                                 res.redirect('/dashboard?message=plan successfully updated');
                                    }
                                    else {
                                        res.json({
                                            message: 'error your plan wasnt saved.'
                                        });
                                    }
                                });
                        }
                    }
                });

下面是控制台结果,其中包含mongoose调试

猫鼬:clients.findone({_id:ObjectId(“57AA0403B8F3786D09D8C626”)}){fields:未定义}

之前的数据:{datePayment:2016-08-09T18:03:07.501z,
ExperationPayment:2016-09-09T16:37:34.654z,
计划:“starter”,
__v:0,
密码:“a”,
电子邮件地址:“a”,
最近名:“a”,
第一名:“a”,

共有1个答案

空谦
2023-03-14

我发现了问题,var expTime=data.experationpayment;expTime是一个字符串对象,而不是日期对象,代码应该是var expTime=new date(data.experationpayment);

现在我可以使用expTime.getTime()

 类似资料:
  • 有一个对象,其中用户以数组的形式存在,如何使用特定id更新用户,而不发送整个用户数组。 当同时更新不同用户的数据时,发送的数据被覆盖,但必须不被覆盖

  • 本文向大家介绍iOS 更改UILabel某些字体样式方法,包括了iOS 更改UILabel某些字体样式方法的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,大家先看下代码吧,具体待明日如下所示: 效果: 以上所述是小编给大家介绍的iOS 更改UILabel某些字体样式方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 问题内容: 我想知道在Java上使用HB更新分离对象的某些字段的最佳方法是什么。特别是当对象具有子对象属性时。例如(删除注释并减少字段数以减少噪声): 在MVC Web 应用程序中更新父级时,我可以使用 Session.get(Parent.class,123) 调用父级实例,使用它来填充表单并显示它。没有DTO,只有分离的父级传递到视图并绑定到表单。现在,我只想允许用户更新父级的 field2

  • 问题内容: 编辑:以下最简单,可检查的问题 恢复 我正在做一个Latin Square应用程序,该应用程序设置一个大小为s的正方形,并且您 需要对它进行着色,例如在 同一行或同一列中使用不同的颜色。 但是我的麻烦不是问题本身,而是Swing。 我正在尝试使用Swing来实现某些图形和更好的外观。 问题是,比找到解决方案时,我要停下 来观察几秒钟,然后继续寻找其他对象(我将使用 Thread.sle

  • 首先,我使用Windows 7 64位,WAMP 32位和火鸟32位。 我试图使用PHP与火鸟或interbase,所以我取消注释以下行从我的php.ini文件: 然后,当我启动WAMP时,会出现以下错误: 我已经尝试过的: 有人知道我该怎么解决这个问题吗?谢谢

  • 我正在spring boot中创建一个REST api,目前我有一个映射来获取用户和特定用户的列表。 假设我的用户是这样的: 还有,在发送更新用户的请求时,请求体是否需要正确嵌套? 两者都是有效的还是2号?