ArangoDB文档嵌套属性命名约定和索引限制
创始人
2024-09-12 01:30:53
0

ArangoDB中的文档可以具有嵌套的属性,这为组织数据和查询提供了很大的灵活性。但是,ArangoDB对于嵌套属性的命名有一些约定和索引限制,否则可能会导致查询效率降低或无法正常工作。

一般而言,当嵌套的属性命名中包含点号“.”时,这些点号被视为分隔符,ArangoDB会将该属性视为具有多个嵌套级别的属性。例如,假设有如下文档:

{
  "name": "Alice",
  "address": {
    "city": "New York",
    "street": "Broadway",
    "zipcode": "10001"
  }
}

那么可以使用如下方式在AQL中引用嵌套的属性:

FOR doc IN collection
  FILTER doc.address.city == "New York"
  RETURN doc

然而,如果将点号“.”用作属性名称中的字面字符,则可以使用方括号或反引号对其进行转义:

{
  "name": "Bob",
  "attr.with.dot": "value"
}

可以使用方括号:

FOR doc IN collection
  FILTER doc["attr.with.dot"] == "value"
  RETURN doc

也可以使用反引号:

FOR doc IN collection
  FILTER doc.`attr.with.dot` == "value"
  RETURN doc

需要注意的是,对于具有嵌套属性的文档,除非使用全文索引,否则只能在嵌套属性的末级上创建索引。例如,对于上面提到的文档,可以创建如下索引:

db.collection.ensureIndex({ "address.zipcode": "hash" })

但是不能创建如下索引:

``

相关内容

热门资讯

透视最新!hhpoker辅助软... 透视最新!hhpoker辅助软件下载,aapoker透视插件下载,记者爆料(有挂黑科技);1、透视最...
透视黑科技!aapoker辅助... 透视黑科技!aapoker辅助挂,wpk透视脚本,专业讨论(有挂了解)1、上手简单,内置详细流程视频...
透视好友!德普之星有没有挂,h... 透视好友!德普之星有没有挂,hhpoker透视脚本下载,玩家分析(有挂教程)1、实时开挂更新:用户可...
透视软件!wpk透视脚本下载,... 透视软件!wpk透视脚本下载,wepoker底牌透视脚本下载,记者爆料(有挂介绍)1、上手简单,内置...
透视能赢!红龙poker作弊指... 透视能赢!红龙poker作弊指令,hhpoker怎么开透视,实测揭晓(有挂详情)1、下载好辅助软件之...
透视新版!aapoker可以开... 透视新版!aapoker可以开挂吗,wepoker透视脚本苹果,重大发现(有挂攻略);1、下载好辅助...
透视总结!wepoker免费永... 透视总结!wepoker免费永久脚本,红龙poker透视,实测发现(有挂方法)1、用户打开应用后不用...
透视模拟器!wpk辅助器是真的... 透视模拟器!wpk辅助器是真的吗,aapoker辅助器是真的吗,玩家必看秘籍(有挂介绍)1、金币登录...
透视好友!德普之星透视辅助软件... 透视好友!德普之星透视辅助软件是真的吗,hhpoker开辅助软件,专业讨论(有挂方法);1、透视辅助...
透视最新!德普之星辅助功能如何... 透视最新!德普之星辅助功能如何打开,红龙poker辅助,一分钟揭秘(有挂黑科技);1、系统规律教程、...