深色浅蓝 2021-05-02 16:24 采纳率: 0%
浏览 182

mongodb,在多层嵌套数组中插入(更新)符合条件的元素

Users.findOneAndUpdate({
            user_id: user_id
        }, {
                
                $push: {
                    "chat.$[item].record": {
                        "role": 'me',
                        "item_record": item_record,
                        "item_time": item_time
                    }
                 }
           
        }, {
            arrayFilters: [{
                
                "item":{
                    $type:"object"
                },
                "item.ta_id": ta_id
               
            }]
        }, function(err) {
            if (err) {
                ...........
            } else {
                ...........
            }
        })
    })

在先前的本地测试中没有任何问题,就是利用arrayFilters,简单地插入数据到特定的位置,但是现在报错了,非常离谱...


{ MongoError: exception: cannot use the part (chat of chat.$[item].record) to traverse the element ({chat: [ { is_hiden: false, ta_id: "1619759159250", ta_img: "/public/image/users/test.png", me_id: "1619758422666", record: [ { role: "ta", item_record: "(你好)" } ], char_time: 1619941310624.0 } ]})
  • 写回答

4条回答 默认 最新

  • 关注

    本地和服务器的数据库版本,表结构的设计是完全一样的吗?

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序