Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多字段上的Syncano条件筛选_Javascript_Node.js_Data Objects_Syncano - Fatal编程技术网

Javascript 多字段上的Syncano条件筛选

Javascript 多字段上的Syncano条件筛选,javascript,node.js,data-objects,syncano,Javascript,Node.js,Data Objects,Syncano,我试图列出类中的数据对象。我想根据多个字段上的条件查询筛选数据对象列表。 根据field1=xxx或field2=xxx选择数据对象 例如: 课堂库存: +----------------------------------+ | Item | Quantity | Price | +----------------------------------+ | X | 10 | 30 | |

我试图列出类中的数据对象。我想根据多个字段上的条件查询筛选数据对象列表。 根据field1=xxx或field2=xxx选择数据对象

例如: 课堂库存:

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

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

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

最好的方法是将查询分成两个单独的调用,并将它们组合起来。Syncano使用和来组合查询,因此for或必须将它们分离为两个单独的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);

这似乎是一个简单的解决方案,但我希望通过一个电话而不是两个电话来实现这一点。此外,此解决方案还需要额外的逻辑来删除从两个阵列中添加的重复条目。