文档

关于 SequoiaDB

快速入门

快速入门之一键清理

安装

基本操作

数据模型

SQL引擎

FileSystem引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

SequoiaDB Shell方法

操作符

SQL语法

SQL to SequoiaDB 映射表

限制

错误码

故障排除

SAC 管控中心

Web服务

版本信息

$push

语法

{ $push: {<字段名1>: <值1>, <字段名2>: <值2>, ... } }

描述

$push将给定数值(<值1>)插入到目标数组(<字段名1>)中,操作对象必须为数组类型的字段。如果记录中不存在指定的字段名,将指定的字段名以数组对象的形式推入到记录中并填充其指定的数值;如果记录中存在指定的字段名,且字段名存在指定的数值,指定的数值也会被推入到记录中。

示例

  • 向集合bar下的arr数组对象推入数值1。原记录中arr数组对象存在元素1,如有记录:

    { arr: [1,2,4], age: 10, name: ["Tom","Mike"] }
    > db.foo.bar.update({ $push: { arr: 1 } })

    此操作后,记录更新为:

    { arr: [1,2,4,1], age: 10, name: ["Tom","Mike"] }

    虽然原来arr中有元素1,使用$push操作符,还是会将元素1推入到arr数组对象中。

  • 向集合bar中推入不存在的数组对象和值。原记录中不存在数组对象name,如有记录:

    { arr: [1,2], age: 20 }
    > db.foo.bar.update({ $push: { name: "Tom" } }, { name: { $exists: 0 } })

    此操作后,记录更新为:

    { arr: [1,2], age: 20, name: ["Tom"] }

    原记录中不存在数组对象name,使用$push操作符,会将name以数组对象的形式推入到记录中。

回到顶部