武汉网站建设兼职2017,百度关键字优化,外贸建站用什么服务器,做网站的具体内容插入文档 INSERT 关键字想要插入一些属性,花括号 { } 表示文档或对象。INTO 是每个操作的必需 INSERT 的部分 ,后面是我们要在其中存储文档的集合名称。RETURN NEW 返回新创建的文档.INSERT document INTO collectionName属性值的类型 nullboolean ( tru…- 插入文档
- INSERT 关键字想要插入一些属性,花括号 { } 表示文档或对象。INTO 是每个操作的必需 INSERT 的部分 ,后面是我们要在其中存储文档的集合名称。RETURN NEW 返回新创建的文档.
- INSERT document INTO collectionName
- 属性值的类型
- boolean ( true , false) :布尔值
- number (integer and floating point) :数值(整数和浮点数)
- INSERT { _key: "值", 属性键1: "值1", 属性键2: “值2” } INTO 集合名
- INSERT { _key: "6698", name: "Jole", age: 27 } INTO users
- INSERT { _key: "6700", name: "Huy", age: 69 } INTO users RETURN NEW
- 批量插入
- LET date = [ { _key: "6698", name: "Jole", age: 27 } , { _key: "6700", name: "Huy", age: 69 } ] FOR d in date INSERT d INTO users
- 关键字 LET 定义了一个对象数组变量,指定的变量名
- LET variableName = valueExpression FOR n in variableName insert n into collectionName
- valueExpression = [ {...}, {...}, ... ]
- 注:AQL 不允许 INSERT 在单个查询中针对同一集合的多个操作。但可使用 FOR 循环插入文档。
- 批量导入 JSON 文档
- 数据库系统自动添加三个属性。
- _id
- 集合名称、正斜杠 和文档键的串联,标识对象中唯一的文档
- 检索文档
- 左侧QUERIES菜单,单击此按钮将打开查询编辑器。
- 使用 DOCUMENT 关键字检索特定文档
- RETURN DOCUMENT("_id")
- RETURN DOCUMENT("users/6699")
- RETURN DOCUMENT("collectionName", "_key")
- RETURN DOCUMENT("users","6699")
- RETURN DOCUMENT("users", [ "6699","6698" ] )
- 注:作用数组形式可以代替 FOR FILTER 循环
- FOR u IN users FILTER u._key IN [ "6699","6698" ] RETURN u
- 使用 FOR 关键字返回对象所有文档
- FOR variableName IN collectionName
- FOR d IN collectionname RETURN d
- 注:文档 _key 值会有所不同,因为它们是自动生成的。
- 注:返回特定属性需要用大括号
- for u in users return {name:u.name,age:u.age,sex:u.sex}
- 条件过虑检索,使用 FILTER 关键字
- FOR user IN users FILTER user.age == 30 RETURN user
- 可以使用查询编辑器右下角的执行按钮。查询结果将显示在“执行”按钮下方。结果下载为 JSON 文件或 CSV 文件,或将查询复制回编辑器。

- 更新文档
- 使用 UPDATE 或 REPLACE 关键字,要更新的属性写为 WITH 关键字后的对象。 IN 表示在哪个集合中执行此操作,就像 INTO (这两个关键字在这里实际上可以互换)。区别: REPLACE 更新会删除所有属性(除 _key 和 _id 保持不变),只添加指定属性。UPDATE 只替换指定属性值其他保持不变。
- UPDATE documentKey WITH object IN collectionName
- UPDATE "6699" WITH { age: 40 } IN users RETURN NEW
- REPLACE “6699” WITH { age:100 } IN/INTO users RETURN NEW
- 注:可添加属性
- UPDATE users { sex : '男' } IN users
- 使用 FOR 循环更新
- FOR u IN users UPDATE u WITH { sex : '女' } IN user
- 问题
- FOR 已循环使用参数 u , 但 WITH 后的属性不能用 u. 定义
- 如果用 REPLACE 循环更新,要附文档的原值需要怎么写?
- IN 后的 collectionName 必须要原名,不能用 u 代替
- 删除文档
- REMOVE _key 或 _id IN collectionName
- 循环删除文档(同样适用于 INSERT, UPDATE 和 REPLACE)
- FOR user IN users FILTER user.age >= 30 REMOVE user IN users
- 遍历文档
- 检索集合所有文档
- FOR user IN users return user

- 限制结果计数
- LIMIT 关键字,后面跟着一个数字
- FOR u IN users LIMIT 5 RETURN u.name
- FOR u IN users LIMIT 2,5 RETURN u.name
- 排序操作
- 返回文档的顺序不一定与插入时的顺序相同,使用 SORT 关键字进行排序。DESC 降序, ASC 可以用于升序。 ASC 虽然是默认值,但可以省略。
- FOR u IN users SORT u.age DESC return u
- FOR u IN users SORT u.name,u.age return u
- 组合新值
- CONCAT() 是一个可以将元素连接成字符串的函数。
- FOR user IN users RETURN CONCAT(user.name, "'s age is ", user.age)
- 多文件的AQL
- 创建两个文件 Characters 和 Traits
- FOR c IN Characters RETURN c.traits
- FOR c IN Characters FOR key IN c.traits FOR t IN Traits FILTER t._key == key RETURN t //返回 c 文件出现 t._key 关联的文档
- 合并字符 MERGE()
- FOR c IN Characters RETURN MERGE(c, {traits: ( FOR key in c.traits FOR t in Traits FILTER key == t._key RETURN t.en)})
- Characters.json

- Traits.json
