使用Javascript库的Azure移动服务

时间:2014-11-13 22:25:21

标签: azure-mobile-services

我正在使用已启用软删除的Javascript库在Azure移动服务中使用表。删除部分工作正常,但取消删除导致我的问题。我看了一遍,似乎找不到任何关于如何实际取消删除软删除记录的文档。我尝试更新记录并将__deleted字段设置为false,但这只会返回412错误“Precondition Failed”。

     function addUser(user) {

        return $q(function (resolve, reject) {
            var users = aadClient.getTable("user");
            var newUser = { id: user.userPrincipalName, name: user.givenName + " " + user.surname };

            users.where({ id: user.userPrincipalName })
                .read({ __includedeleted: true })
                .done(function (results) {
                    if (results.length < 1) {
                        users.insert(newUser).done(function (result) {
                            resolve(result);
                        }, function (err) {
                            reject(err);
                        });

                    } else {
                        results[0].__deleted = false;
                        users.update(results[0]).done(function (result) {
                            resolve(result);
                        }, function (err) {
                            reject(err);
                        });

                    }

                });

        })

    }

1 个答案:

答案 0 :(得分:1)

Undelete是对/ table / tablename / recordId的POST。看起来我们还没有在JS SDK中添加该方法。因此,直接执行ajax请求可能是最快的。

您还可以查看更新表的插入脚本以捕获冲突,并在插入过程中解决它并使客户端脱离图片。这是我建议的路径。

(让我知道您正在使用的后端类型,如果需要,我可以看看是否可以发布如何执行此操作的片段)