我想要一个作为AQL中的对象数组的结果。
查询:
db._query(aql`FOR doc IN ${collection} RETURN doc`).toArray();我想得到这个结果..。
{ "0": {"id": 1}, "1": {"id":2} }
...in数组的形式:
[{"id": 1}, {"id":2}]
发布于 2018-09-12 07:35:06
当前使用的查询是将集合中的所有文档作为数组返回所有属性。
如果您只想返回特定的属性,可以在查询的return语句中引用它们。
db._query(aql`FOR doc IN ${collection} RETURN doc.id`).toArray();上面的查询将返回一个仅包含id值的数组,因此可能也不是您想要的。
如果您想在属性的值旁边返回一些属性,则有以下解决方案:
在返回部分中显式地命名属性
db._query(aql`FOR doc IN ${collection} RETURN { id: doc.id }`).toArray();使用AQL保持功能
db._query(aql`FOR doc IN ${collection} RETURN KEEP(doc, ["id"])`).toArray();如果有多个属性要返回,后一种方法将保存类型。在这种情况下,只需添加它们就可以保留第二个参数。
如果更多的问题是“如何从返回中排除某些属性”,那么还有未设置的AQL函数:
db._query(aql`FOR doc IN ${collection} RETURN UNSET(doc, ["_key", "_rev", "_id"])`).toArray();此方法将返回没有上述属性的文档。
https://stackoverflow.com/questions/52282369
复制相似问题