在AQL(ArangoDB查询语言)中,命名空间名称中的句点(.
)具有特殊的意义。AQL使用句点来表示嵌套文档的路径。当你在查询中使用句点时,AQL会将其解释为导航到嵌套文档中的特定字段。
以下是一些使用命名空间名称中的句点的示例:
假设我们有一个名为users
的集合,其中包含以下文档:
{
"_id": "1",
"name": {
"first": "John",
"last": "Doe"
},
"age": 30
}
要选择name.first
字段,可以使用以下AQL查询:
FOR user IN users
RETURN user.name.first
假设我们要查找年龄大于25岁的用户,并返回他们的名字和姓氏。可以使用以下AQL查询:
FOR user IN users
FILTER user.age > 25
RETURN {
firstName: user.name.first,
lastName: user.name.last
}
假设我们要将所有年龄大于25岁的用户的名字更改为"Anonymous"。可以使用以下AQL查询:
FOR user IN users
FILTER user.age > 25
UPDATE user WITH { name: { first: "Anonymous" } } IN users
例如,如果有一个字段名称为user.name
,可以使用以下方式访问它:
FOR user IN users
RETURN user["user.name"]
例如:
FOR user IN users
RETURN user["name.first"]
总之,在AQL中,命名空间名称中的句点用于表示嵌套文档的路径。在使用句点时,请注意避免与字段名称冲突,并在必要时使用方括号表示法。
领取专属 10元无门槛券
手把手带您无忧上云