1

我正在尝试在一个类中列出 DataObjects。我想根据对多个字段的条件查询来过滤 DataObjects 列表。根据 field1 = xxx 或 field2 = xxx 选择 DataObject

例如:在类库存中:

+----------------------------------+
| Item  |  Quantity  |  Price      |
+----------------------------------+
| X     |    10      |    30       |
|                                  |
| Y     |    20      |    10       |
+----------------------------------+  

var filter = {
        'Quantity': { '_eq': 10 } OR
        'Price': { '_eq': 10 }
    };

选择数量 = 10 或价格 = 10 的项目。如何实现这一点?

4

1 回答 1

2

最好的方法是将您的查询分成两个单独的调用并将它们组合起来。Syncano 使用 AND 来组合查询,因此对于 OR,您必须将它们分成两个单独的 API 调用。

// v1 Syncano JS SDK
var Syncano = require("syncano");  // CommonJS
var connection = Syncano({accountKey: "ACCOUNT_KEY"}); // or API Key
var DataObject = connection.DataObject;

var list = {instanceName: "INSTANCE_NAME", className: "CLASS_NAME"};
var filter1 = {
    'Quantity': { '_eq': 10 }
};
var filter2 = {
    'Price': { '_eq': 10 }
};

var QtyArray = [];
var PriceArray = [];

DataObject.please().list(list).filter(filter1).then(function(res){
    // res is an array of filter 'Quantity'
    QtyArray = res;
});

DataObject.please().list(list).filter(filter2).then(function(res){
    // res is an array of filter 'Price'
    PriceArray = res;
});

var comboArray = QtyArray.concat(PriceArray);
于 2016-04-13T20:11:52.393 回答