Javascript 从AQL获取对象数组
我想要一个结果作为AQL中的对象数组 查询:Javascript 从AQL获取对象数组,javascript,arangodb,Javascript,Arangodb,我想要一个结果作为AQL中的对象数组 查询: db._query(aql`FOR doc IN ${collection} RETURN doc`).toArray(); 我想要这个结果 {“0”:{“id”:1},“1”:{“id”:2}} …以数组的形式: [{“id”:1},{“id”:2}]当前使用的查询以数组形式返回集合中所有属性的所有文档 如果只想返回特定属性,可以在查询的return语句中引用它们,例如 db._query(aql`FOR doc IN ${collection}
db._query(aql`FOR doc IN ${collection} RETURN doc`).toArray();
我想要这个结果
{“0”:{“id”:1},“1”:{“id”:2}}
…以数组的形式:
[{“id”:1},{“id”:2}]
当前使用的查询以数组形式返回集合中所有属性的所有文档
如果只想返回特定属性,可以在查询的return语句中引用它们,例如
db._query(aql`FOR doc IN ${collection} RETURN doc.id`).toArray();
上面的查询将返回一个仅包含id值的数组,因此可能也不是您想要的
如果您希望返回一些属性及其值,则有以下解决方案:
在返回部分中显式命名属性:
使用AQL保持功能:
db._query(aql`FOR doc IN ${collection} RETURN UNSET(doc, ["_key", "_rev", "_id"])`).toArray();
如果有多个属性要返回,后一种方法将节省键入时间。在本例中,您只需将它们添加到KEEP的第二个参数中
如果问题更多的是关于“如何排除返回的某些属性”,那么还有UNSET-AQL函数:
db._query(aql`FOR doc IN ${collection} RETURN UNSET(doc, ["_key", "_rev", "_id"])`).toArray();
此方法将返回不包含所述属性的文档。当前使用的查询将以数组形式返回集合中包含所有属性的所有文档 如果只想返回特定属性,可以在查询的return语句中引用它们,例如
db._query(aql`FOR doc IN ${collection} RETURN doc.id`).toArray();
上面的查询将返回一个仅包含id值的数组,因此可能也不是您想要的
如果您希望返回一些属性及其值,则有以下解决方案:
在返回部分中显式命名属性:
使用AQL保持功能:
db._query(aql`FOR doc IN ${collection} RETURN UNSET(doc, ["_key", "_rev", "_id"])`).toArray();
如果有多个属性要返回,后一种方法将节省键入时间。在本例中,您只需将它们添加到KEEP的第二个参数中
如果问题更多的是关于“如何排除返回的某些属性”,那么还有UNSET-AQL函数:
db._query(aql`FOR doc IN ${collection} RETURN UNSET(doc, ["_key", "_rev", "_id"])`).toArray();
这种方法将返回没有提到的属性的文档。您可以通过对象键循环,并将它们放入一个新的数组中,以防此库没有现成的内容。
object.values({“0”:{“id”:1},“1”:{“id”:2})
将返回[{“id”:1},{“id”:2}]
但是从来没有使用过arango,我怀疑api有一个更干净的方法。你可以通过对象键循环并将它们放入一个新数组,以防这个库没有你需要的现成的东西。object.values({“0”:{“id”:1},“1”:{“id”:2})
将返回[{“id”:1},{“id”:2}]
但从未使用过arango,我怀疑api有更干净的方法