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

MongoDB之修改器的更多相关文章

  1. MongoDB update修改器 目录

    MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop ...

  2. MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset

    MongoDB update修改器: $inc $set $unset $push $pull $pop 针对Fields的$修改器 $set: { $set: { key: value } } $s ...

  3. MongoDB数组修改器更新数据(转)

    MongoDB数组修改器更新数据    这里,我们将了解一下数组修改器.数组,是我们经常看到和使用到的且非常有用的数据结构:它不仅可以通过索进行引用,还可以作为集合来使用.数组修改器,顾名思义,它是用 ...

  4. mongodb的修改器

    在mongodb中通常文档只会有一部分要更新,利用原子的更新修改器,可以做到只更新文档的一部分键值,而且更新极为高效,更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加.或者删除键,还可以 ...

  5. MongoDB update修改器: 针对Arrays的$修改器 $push $pull $pop

    针对Arrays的$修改器 $push : { $push: { key: value } } 它是用来对Array (list)数据类型进行 增加 新元素的,相当于我们Python中 list.ap ...

  6. 【MongoDB】4.MongoDB 原子修改器的 极速修改

    文档转自:http://blog.csdn.net/mcpang/article/details/7752736 对于文档的更新除替换外,针对某个或多个文档只需要部分更新可使用原子的更新修改器,能够高 ...

  7. mongodb修改器

    mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...

  8. [转载]MongoDB的$inc修改器

    MongoDB的$inc修改器相当于编程语言中的 “+=”“$inc”只能用于操作数值类型的数据,包括整数.长整数和双精度浮点数,用于其他类型的数据会导致操作失败. >db.users.find ...

  9. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

随机推荐

  1. c/c++拷贝构造函数和关键字explicit

    c/c++拷贝构造函数和关键字explicit 关键字explicit 修饰构造方法的关键字,加上了,就告诉编译器,不可以隐式初始化对象:不加就可以隐式初始化对象: 下面的代码是可以正常编译执行的,但 ...

  2. AI学习---数据读取&神经网络

    AI学习---数据读取&神经网络 fa

  3. 【PAT】B1011 A+B 和 C

    注意数据的范围,使用long long就行了 #include<stdio.h> int main(){ int N;scanf("%d",&N); for(i ...

  4. js FormData方法介绍

    1. 概述 FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利. 2. 构造函数 创建一个formData ...

  5. 聚类——GAKFCM的matlab程序

    聚类——GAKFCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——GAKFCM文章中已介绍了GAKFCM算法的理论知识, ...

  6. webpack常见的配置项

    使用vue init webpack test(项目文件夹名)命令初始化一个vue项目,cd test,然后安装依赖npm install之后会生成一些默认的文件夹和文件,这些文件和文件夹中有些和配置 ...

  7. Python爬虫-04:贴吧爬虫以及GET和POST的区别

    目录 1. URL的组成 2. 贴吧爬虫 2.1. 只爬贴吧第一页 2.2. 爬取所有贴吧的页面 3. GET和POST的区别 3.1. GET请求 3.2. POST请求 3.3. 有道翻译模拟发送 ...

  8. 关于hightcharts如何在同一HTML画两个及以上图形问题

    ---恢复内容开始--- 写这篇博文也是因为做图表展示时被在同一网页上展示两个饼图难住,关键点在于views,py文件里面的render()函数,对于这个函数有三个参数: request----默认参 ...

  9. 16.Python网络爬虫之Scrapy框架(CrawlSpider)

    引入 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法 ...

  10. 用deepin堆砌工作环境

    用deepin堆砌工作环境 这篇文章记录了我用 deepin 15.5搭建工作环境的过程,供我个人在未来重装系统时参考.对于其他以 deepin 操作系统作为主要工作平台的看官,咱们是相亲相爱的一家人 ...