如何使用 CloudKit.js 查询 nil 值?
How do I query for nil values with CloudKit.js?
使用 CloudKit.js,我如何构造一个查询来匹配字段为 nil 的项目?我尝试过的每个排列都失败了——要么它明显匹配字符串值(即 "null" 或 "nil"),要么如果我实际上尝试传递 'null'.[=12 它会抛出错误=]
有什么想法吗? None 以下作品。
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: "nil" }
}]
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: null }
}]
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: "null" }
}]
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: "" }
}]
我认为 CloudKit 中没有任何选项可以查询 nil 值。也不是来自本机代码。我尝试了很多谓词,但似乎都没有用。
您必须知道 CloudKit 是一个键值存储。当值为 nil 时,键将不会出现在记录中。没有查询不存在的键的选项。
我最接近好的解决方案是使用格式为 "NOT myField => ''"
的谓词抱歉,不知道 .js 的格式
在 CloudKit CKQuery documentation 中没有提到 nil 字段。
在 documentation for NSPredicates 中有 nil 值的样本。
但已经很清楚 CloudKit 只实现了 NSPredicate 的一部分可能性(参见 CKQuery class 参考)
我认为处理此问题的最佳方法是不 using/depending 处理 nil 值。如果您确实需要检查一些 nil 状态,那么您可以添加一个额外的字段来表示该状态。
使用 CloudKit.js,我如何构造一个查询来匹配字段为 nil 的项目?我尝试过的每个排列都失败了——要么它明显匹配字符串值(即 "null" 或 "nil"),要么如果我实际上尝试传递 'null'.[=12 它会抛出错误=]
有什么想法吗? None 以下作品。
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: "nil" }
}]
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: null }
}]
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: "null" }
}]
filterBy: [{
fieldName: 'customerNumber',
comparator: 'EQUALS',
fieldValue: { value: "" }
}]
我认为 CloudKit 中没有任何选项可以查询 nil 值。也不是来自本机代码。我尝试了很多谓词,但似乎都没有用。
您必须知道 CloudKit 是一个键值存储。当值为 nil 时,键将不会出现在记录中。没有查询不存在的键的选项。
我最接近好的解决方案是使用格式为 "NOT myField => ''"
的谓词抱歉,不知道 .js 的格式
在 CloudKit CKQuery documentation 中没有提到 nil 字段。
在 documentation for NSPredicates 中有 nil 值的样本。
但已经很清楚 CloudKit 只实现了 NSPredicate 的一部分可能性(参见 CKQuery class 参考)
我认为处理此问题的最佳方法是不 using/depending 处理 nil 值。如果您确实需要检查一些 nil 状态,那么您可以添加一个额外的字段来表示该状态。