更新嵌套对象属性 RethinkDB

问题描述

我使用 rethinkDb 作为聊天应用程序。 我的问题是如何更新 rethinkDb 中的嵌套对象属性。 这是我的结构:

[
    {
        "groupId": "group1","id": "05356646-679c-4b5e-89bb-4c3a04f65581","message": {
            "createdAt": "2021-06-24T06:32:05.530Z","own": true,"read": true,"room": "-Mcwf-_TvLe1JuJaFf9X","saved": true,"seen": false,"text": "BYE","type": 0
        }
    }
]

如何更新消息对象中的文本属性: 我试试这个,但无法更新属性

function updateMessage(userId: string,groupId: string,message: any,messageId: string): Promise<any> {
    return new Promise(function (resolve,reject) {

        r.table(rethinkdbConfig.tableName).update({
            message: r.row('message')
                .map(function (msg: any) {
                    return r.branch(
                        msg('id').eq(messageId),msg.merge({
                            text: message.text,type: 1,read: true,seen: false
                        }),msg)
                })
        }).run(connection,function (err: any) {
            if (err) {
                reject(err);
                throw err;
            }
            else {
                resolve({ code: 200,message: 'Success update!' });
            }
        });

    });
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)