【问题标题】:How to fix TypeError: Cannot set property 'financial.deposits' of undefined如何修复 TypeError:无法设置未定义的属性“financial.deposits”
【发布时间】:2019-12-13 23:11:43
【问题描述】:

我收到一个错误 TypeError: Cannot set property 'financial.deposits' of undefined 当我想在我的金融.deposit 中推送一个值时,这是我的 MongoDB 集合用户中的字段;

const query = {}; 

query["$push"]["financial.deposits"] = {
            hello: "hello"
     }      

 await UserModel.update({ _id: key }, query).exec();

我试过了,但它给我抛出了异常。

【问题讨论】:

  • 我可以显示您的用户表数据吗?
  • 你的意思是给你看
  • 是的.. 我想看看你想更新哪个
  • 这里不能放图片,字段是对象类型,只有一个数据是对象。
  • 你可以写这个或者直接在 cmets 发帖

标签: node.js mongodb typescript mongodb-query


【解决方案1】:

您的查询应如下所示:

const query = {$push:{"financial.deposite":{['key1']:"anything"}}};     

db.usertest.update({  "_id" : ObjectId("5d4976ac1f28f608707dba3c")}, query)

【讨论】:

  • 是的,但是如果我改变它,这将删除之前设置为 hello 的值,想法是关键会有所不同,很抱歉没有在代码中显示它但字段需要保存数组给出的所有不同数据:
    if (deposits && deposit.data && deposit.data[key]) { query["$push"]["financial.deposits"] = { "$每个": deposit.data[key] } }
  • 那么你的金融存款字段是数组..你说它是对象
  • 啊,是的,我输入了两次我的意思是财务,然后输入了两次,对不起,是的,在数据​​库中它是一个。数组
  • 我很抱歉
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2021-12-15
  • 1970-01-01
  • 2019-08-19
  • 2021-10-03
  • 2021-10-28
  • 2021-02-04
相关资源
最近更新 更多