Android Cloudant同步查询
正如文档所说,我试图在列表中进行查询 看: 返回: {codigo:4,公司:[ { id:b9f19d88-13c0-40e3-89de-63dc787afb4c, 姓名:1488949817178 }, { id:f17fb098-316e-4d33-a0f7-f5719bf9d62e, 姓名:1488949817178 }],雇员:[ { codigo:2891, id:cc54fa37-0b64-4108-869a-1303c6176ce5, 姓名:雇员0 79ed4 }, { codigo:4642, 识别号:19b76bbc-82c7-4295-a385-82ac2d892458, 姓名:员工1 e1102 }],id:ef2d0ebf-50b9-4cd0-9aaf-5389bccaaa56,nome:Random 4} 所以没关系 但这个查询不起作用:Android Cloudant同步查询,android,cloudant,Android,Cloudant,正如文档所说,我试图在列表中进行查询 看: 返回: {codigo:4,公司:[ { id:b9f19d88-13c0-40e3-89de-63dc787afb4c, 姓名:1488949817178 }, { id:f17fb098-316e-4d33-a0f7-f5719bf9d62e, 姓名:1488949817178 }],雇员:[ { codigo:2891, id:cc54fa37-0b64-4108-869a-1303c6176ce5, 姓名:雇员0 79ed4 }, { codi
query.put("employees.codigo", 2891);
首次返回:
QuerySqlTranslator:没有一个索引包含所有
[{employees.codigo={$eq=2891}}];为要查询的这些字段添加索引
有效地
创建索引后:
返回:抱怨索引
创建了另一个索引:
i = q.createJsonIndex(Arrays.<FieldSort>asList(new FieldSort("employees.codigo"), new FieldSort("codigo")), null);
回答:没有
怎么了
如何按子级获取文档,以及如何仅获取子级
谢谢我认为这是不受支持的,具体请参见突出显示的条目:
阵列
虚线表示法,用于索引或查询数组中的子文档。
正在查询精确的数组匹配,{field:[1,3,7]}。
使用点符号{field.0:1}查询以匹配特定数组元素。
使用$all进行查询。
使用$elemMatch进行查询。
Index i = q.createJsonIndex(Arrays.<FieldSort>asList(new FieldSort("employees.codigo")), null);
List<String> fields = Arrays.asList("codigo");
result = q.find(query, 0 , 0 , fields, null);
query.put("codigo",4)
query.put("employees.codigo", 2891);
i = q.createJsonIndex(Arrays.<FieldSort>asList(new FieldSort("employees.codigo"), new FieldSort("codigo")), null);