操作符
| 操作符 | 解义 |
|---|
| $gt | > |
| $lt | < |
| $gte | >= |
| $lte | <= |
| $ne | != |
| $in | in 包含 |
| $nin | not in 不包含 |
| $exists | exist 是否存在 |
| $inc | 给一个书记field 增加 value值 |
| $set | 相当于 set filed = value |
| $unset | 删除字段 |
| $push | 把value追加到field中若field不存在,会新增一个数组类型 |
| $pushAll | 同上,一次可以追加多个 |
| $addToSet | 增加一个数组,且只有当这个值不在数组时添加 |
| $pop | {$pop:{field:1}}删除最后一个值{$pop:{field:-1}}删除第一个值 |
| $pull | 从数组中删除一个等于value的值 |
| $pullAll | 同上,可以一次删除数组内的多个值 |
操作
db.tablename->insert({'field1'=>'value1','field2'=>'value2'});
db.collection.update(<query>,<update>, upsert:<boolean>, multi:<boolean>
);
| 参数 | 类型 | 描述 |
|---|
| query | document | 要修改哪些的查询条件,类似于SQL where |
| update | document | 要修改的字段对应的值 |
| upsert | boolean | 可选的,默认值是false。如果根据查询条件没找到对应的文档,如果设置为true,相当于执行insert,如果设置为false,不做任何的操作。 |
| multi | boolean | 可选的,默认值是false。如果根据查询条件找到对应的多条记录是,如果设置为false时,只修改第一条,如果设置为true,全部更新 |
2.对单个字段进行修改
| 名称 | 描述 |
|---|
| $inc | 根据要添加的值递增该字段的值。 |
| $mul | 将该字段的值乘以指定的值 |
| $rename | 重命名字段 |
| $setOnInsert | 操作时,操作给相应的字段赋值 |
| $set | 用来指定一个键的值,如果不存在则创建它 |
| $unset | 用来指定一个键的值,如果不存在不创建创建它 |
| $min | 只有当指定的值小于现有字段值时才更新该字段。 |
| $max | 只有当指定的值大于现有字段值时才更新该字段。 |
| $currentDate | 设置当前日期字段的值,或者作为一个日期或时间戳。 |