MongoDB之修改器

MongoDB之修改器

$set  简单粗暴  {name: valuel}

  直接将key对应的值赋值给value、

db.xxoo.insert({}, {set: {key: value}})  // 添加字段

  相当于python中的dict['name'] = value

$unset  简单粗暴的删除字段

db.userinfo.updateOne({age: 18},{$unset: {age: 1}})  // 删除age字段

  相当于python中的del dict['name']。其中{age: 1}中的1也可以写其他值,总之布尔值为true即可。

 $push  针对array的操作,添加

db.userinfo.updateOne({name: 'Ta'},{$push:{ghobby: 10}})  // 给ghobby字段添加10

   在array中追加一个新的元素,相当于python中的[].append('')。

 $pull  针对array的操作,删除

db.userinfo.updateOne({name: 'Ta'},{$pull:{ghobby: 10}})  // 删除ghobby字段中的10

   删除array中的一个元素,相当于python中的[].remove(item)或者[].pop(-1)。

$pop  针对array的操作,删除

db.userinfo.updateOne({name: 'Ta'},{$pop:{ghobby: -1}})  // 删除ghobby字段中的第一个值

   当{ghobby: -1}中ghobby对应的值为-1时,则是正序删除第一个;ghobby对应的值为1时,则倒序删除第一个,即倒数第一个。 1与-1也可以写为其他值,正值从后往前删,负值从前往后删。

$inc  引用增加

db.userinfo.updateMany({},{$inc:{age: 1}})  // 给userinfo表中的age字段统一在原有的基础上增加1,当没有这个字段时,就创建一个,然后初始值为1.

 $字符

  $  保存符合索引条件的下标

db.userinfo.updateOne({ghobby: 5},{$set:{'ghobby.2': '四'}})  // 将userinfo表中的ghobby字段中的索引为5的值修改为‘四’,{ghobby: 5}

   换另外一种方式

db.userinfo.updateOne({ghobby: 5},{$set:{'ghobby.$': '五'}})  // 将userinfo表中的ghobby字段中的值为5的元素替换为‘五’,{$set:{'ghobby.$': '五'}}中的$就是值为5的元素的索引,也就是,'ghobby.$'代指的就是值为5的这个元素。 

  当列表套列表的情况下只能使用一次$。

Object  字典操作

修改

db.userinfo.updateOne({name: 'Ta'},{$inc:{'Info.体重': -5}})  // 给userinfo表中的Info字段的体重元素减去5。

添加

db.userinfo.updateOne({name: 'Ta'},{$inc:{'Info.长度': 18}})  // 给userinfo表的Info字段添加一个值为18的长度元素

Array + Object

db.userinfo.updateOne({'ghobby.长度': 18}, {'$inc': {'ghobby.$.长度': 2}})  // 给userinfo表中的ghobby中的长度增加2

  使用$的好处是只是更改选中的这一条数据的具体的这个值,否则的话会修改这条记录中的所有的相关的值。

limit  限制显示

  从当前位置选择5个

db.userinfo.find({}).limit(5)  // 显示查到的前五条数据

skip  跳过

db.userinfo.find({}).skip(2)  // 从零开始跳过两条数据,显示剩下的所有的数据

sort  排序

db.userinfo.find({}).sort({ id:-1 })  // 根据id进行降序排序

limit + skip + sort

pymongo

0

posted @ 2018-12-25 16:08  AKA绒滑服贵  阅读(189)  评论(0编辑  收藏  举报