我想通过产品的ipNum(即已存在(和productState查询不等于"REVOKE"且不等于"SOLD"的产品。当我只查询时
productState != 'REVOKE'
它确实有效,但当我查询时
productState != 'REVOKE' and != 'SOLD'
不起作用
-
参考
ipNum
-该字段(根据Rocketchathttps://chat.hyperledger.org/channel/composer?msg=naiTMBZdaikSs4Qps(,不是Product
资产的字段-所以你的问题可能是intellectualProperty.ipNum
比较-你不能在关系查询中使用"阶梯引用"(在另一个资产类中(-例如,建议在查询处理器函数中使用不同的方式进行交叉检查,或者在调用查询检查Product
字段之前,在代码中使用与inputValue
的if比较 -
双NOTs的AND(即正在评估的同一字段值(在[underly]couchDB查询语言(返回all(中似乎不起作用,因为它是同一字段。例如
const q = buildQuery("SELECT org.xfb.ipchain.Product WHERE ( (productState != 'REVOKE') AND (productState != 'SOLD') )"); const results = await query(q); console.log("results are " + results); // returns all status results.forEach(function(res){ console.log("result instance is " + res.id + " " + res.status); });
您可能需要重新考虑您的状态查询设计。