我有一个json文档,如下面的子文档
<div id="app">
<button @click="switch1=!switch1">switch1</button>
<div v-if="switch1">
<h4>Select an image</h4>
<input type="file" @change="onFileChange">
</div>
</div>
我希望仅在查询中获取'结果'标记数据 prcnt
SELECT top 10 m.results FROM m join r in m.results m.memberId = 2 和m.tblType ='搜索'顺序由r.prcnt
当我执行查询时,得到如下错误..
不支持按相关集合排序。
如何根据我的要求获取数据。
提前致谢!!
答案 0 :(得分:0)
根据您的要求,我已经检查了这个问题。以下是我对此问题的理解:
memberId
和tblType
可以找到单个文档,那么您可以参考类似的issue:<强> UDF 强>
function sortByPrcntNumber (results) {
return results.sort(function(a,b){
return a.prcnt-b.prcnt;
});
}
<强> QUERY 强>
SELECT value udf.sortByPrcntNumber(c.results)
from c
where c.memberId=2 and c.tblType='search'
memberId
和tblType
可以检索多个文档,我认为您可以使用 STORED PROCEDURES ,如下所示:function sample(top,tblType,memberId){
var collection=getContext().getCollection();
var isAccepted=collection.queryDocuments(
collection.getSelfLink(),
"SELECT value {\"prcnt\":r.prcnt,\"distance\":r.distance} from c join r in c.results where c.tblType='"+tblType+"' and c.memberId="+memberId+"",
function(err,feed,options){
if(err) throw err;
if(!feed||!feed.length) getContext().getResponse().setBody("no docs found");
else {
//order by prcnt
var orderedFeed=feed.sort(function(a,b){
return a.prcnt-b.prcnt;
});
//select top
var topFeed=orderedFeed.slice(0,top);
getContext().getResponse().setBody(topFeed);
}
});
if(!isAccepted) throw new Error("The query was not accepted by the server.");
}
<强>结果强>