使用useMasterKey参数分析每个服务器查询

Parse server query each with useMasterKey parameter

本文关键字:服务器 查询 useMasterKey 参数 使用      更新时间:2023-09-26

我正在从Parse迁移到Parse服务器。我的大部分代码都是在没有承诺的情况下编写的。为了实现这一点,我必须为每个查询/保存发送参数:useMasterKey: true(如有必要)。

对于查找和获取查询或获取对象,我没有问题,例如:

Parse.com(查找)

query.find({
    success: function(results) {
    //...

解析服务器(查找)

query.find({useMasterKey: true
    }).then(function(results) {
    //....

Parse.com(获取)

user.fetch({
    success: function(user) {
    //...

解析服务器(获取)

user.fetch({useMasterKey: true,
    success: function(user) {
    //....

每个功能都有问题:

Parse.com(每个)

query.each(function(comment) {
    //...

解析服务器(每个)

query.each({useMasterKey: true
      }).then(function(comment) {
      //....

它不起作用。

感谢

尽管文档没有建议each查询支持useMasterKey选项,但经过我自己的测试和验证,这实际上是可能的。语法如下:

query.each(callback, {useMasterKey: true})

其中,callback是针对查询的每个结果调用的函数。

查询的each方法支持useMasterKey,它作为回调函数后的参数传递,该函数将针对查询的每个结果执行。

语法为:

query.each(function (object, error) {
        // Your function code
    }, {
        useMasterkey: true
})

其中object是查询的结果,error是可能发生的错误。


但是,如图所示,当您实际更改数据库中的某些内容时,最好只使用useMasterKey

query.each(function (object, error) {
    object.destroy({
        success: function (object) {
            console.log("Successfully destroyed object.")
        },
        error: function (error) {
            console.log("Error: " + error.code + " - " + error.message)
        },
        useMasterKey: true
   })
})