gpt4 book ai didi

javascript - 从 AQL 获取对象数组

转载 作者:行者123 更新时间:2023-11-28 14:28:45 25 4
gpt4 key购买 nike

我想要一个 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} RETURN doc.id`).toArray();

上面的查询将返回一个仅包含 id 值的数组,因此可能也不是您想要的。

如果您想返回一些属性及其值,可以使用以下解决方案:

在 RETURN 部分中明确命名属性:

db._query(aql`FOR doc IN ${collection} RETURN { id: doc.id }`).toArray();

使用 AQL KEEP 功能:

db._query(aql`FOR doc IN ${collection} RETURN KEEP(doc, ["id"])`).toArray();

如果要返回多个属性,后一种方法将节省输入。在这种情况下,您只需将它们添加到 KEEP 的第二个参数中。

如果问题更多是关于“如何排除某些属性被返回”,那么还有 UNSET AQL 函数:

db._query(aql`FOR doc IN ${collection} RETURN UNSET(doc, ["_key", "_rev", "_id"])`).toArray();

此方法将返回不带上述属性的文档。

关于javascript - 从 AQL 获取对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com