文档章节

mongodb的操作

chenhai_bj
 chenhai_bj
发布于 2014/10/08 22:06
字数 701
阅读 15
收藏 0
  1. 插入操作

    查询操作主要有insert 与 save方法,具体使用方法如下:

    person = {name : "daniel", sex : "male", age : 8}

    db.mydb.save(person)

    db.mydb.insert(person)

    这样就可以将person这个对象保存到mongodb中了,但是save与insert两个方法有什么区别呢?

    区别是:若插入记录时,显示指定了主键,而且数据库中存在与之相同的主键,这时insert和save的表现不一样:

    insert : 会提示错误

    save:会将数据库中已存在的记录的相应属性修改为新对象的属性。

  2. 基本查询操作

    db.user.find():返回user集合下的所有item

    db.user.findOne():返回第一条记录

    条件查询,下面的记录将查找name是"daniel", sex是"male"的记录

    db.user.find({name : "daniel", sex : "male"})

    指定返回的键值对,下面的示例将只返回name与sex键值对

    db.user.find({}, {name : 1, sex :1})

    指定不返回的键值对,下面的示例将不返回age键值对

    db.user.find({}, {age: 0})

    限制返回的记录条数,下面的示例将只返回3条数据

    db.user.find().limit(3)

  3. 复杂查询操作

    $gt,$lt,条件查询:大于,小于。下面的记录将查找age大于20的记录

    db.user.find({"age": {$gt : 20}})

    $gte,$lte,条件查询:大于等于,小于等于,下面的记录将查找age大于等于20的记录

    db.user.find({"age" : {$gte : 20}})

    条件查询,下面的记录将查找age大于20并且小于30的记录

    db.user.find({"age" : {$gt : 20,$lt : 30}})

    $exists,按照属性是否存在进行查找,查找存在age属性的记录

    db.user.find({"age" : {$exists : true}})

    $in,属性属在一些枚举值范围内,以下将查询age是23或30的记录

    db.user.find({"age" : {$in : [23,30]}})

    $in,属性属在一些枚举值范围内,以下将查询age是 null 的记录,注意此时没有age属性的记录也将查询出来

    db.user.find({"age" : {$in : [null]}})

    $in,属性属在一些枚举值范围内,以下将查询age是 null 并且存在age属性的记录

    db.user.find({"age" : {$in : [null],$exists:true}})

    $ne,不等于,以下将查询age不等于30的记录

    db.user.find({"age" : {$ne : 30}})

    $nin,属性不在一些枚举值范围内,以下将查询age不是null的记录

    db.user.find({"age" : {$nin : [null]}})

    正则表达式,将属性值符合正则表达式的记录找出来

    db.user.find({"name" : /chenhai/})

    count(),查询符合条件的记录条数

    db.user.find({"name" : "chenhai"}).count()

    sort(),查询符合条件的记录,,进行排序,以下语句将查询name为"chenhai"的记录,并按照年龄进行升序排序

    db.user.find({"name" : "chenhai"}).sort({age : 1})

  4. 修改操作

    下面的操作将name为"daniel"的age修改为9

    db.user.update({name:"daniel"},{$set:{age:9}})

  5. 删除操作

    下面的操作将name为"daniel"的记录删除

    db.user.remove({name:"daniel"})







© 著作权归作者所有

chenhai_bj
粉丝 6
博文 4
码字总数 1609
作品 0
海淀
私信 提问
Zabbix监控mongodb配置

本文主要介绍zabbix监控mongodb的配置。 zabbix监控mongodb需要自定义脚本去监控,脚本可以传入多个参数。 原理:通过mongodb客户端连接命令,过滤出db.serverStatus()输出的信息。 一、创建...

hnr1017
2018/07/03
0
0
mongodb(一)mongodb 副本集配置

---layout: blogistop: truetitle: "mongodb 副本集配置"date: 2018-08-29category: mongodbtags: mongodb --- 环境 下载解压 基本配置: 假定已经解压安装完成,现在所处的目录是 /usr/loc......

开心的哈士奇
2018/10/17
0
0
mongodb 3.2.5安装过程详细记录

2016-10-19 mongodb 3.2.5安装 1 准备安装介质 安装介质下载: mongodb的安装方式,我通常使用二进制包的方式,内网不能配置连接外网的yum源; 官方建议的mongodb下载地址为: Downloads.mo...

yumushui991
2018/06/26
0
0
linux-mongodb你会尝试一下吗?

  简介   MongoDB是C++写一个开源的NoSQL数据库,是基于分布式文件存储,在高并发的情况下,可以增加更多的节点来保证服务的正常运行。MongoDB为WEB应用提供了可扩展的高性能的数据存储解...

linux运维菜
2018/09/11
0
0
在ASP.NET Core 2.0上操作MongoDB就是能这么的简便酷爽(自动完成分库分表)

NoSQL是泛指非关系型的数据库,现今在我们的项目中也多有使用,其独特的优点为我们的项目架构带来了不少亮点,而我们这里的主角(MongoDB)则是NoSQL数据库家族中的一种。事实上,NoSQL数据库...

Andre-Hub
2018/09/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring系列教程八: Spring实现事务的两种方式

一、 Spring事务概念: 事务是一系列的动作,它们综合在一起才是一个完整的工作单元,这些动作必须全部完成,如果有一个失败的话,那么事务就会回滚到最开始的状态,仿佛什么都没发生过一样。...

我叫小糖主
今天
4
0
CentOS 的基本使用

1. 使用 sudo 命令, 可以以 root 身份执行命令, 必须要在 /etc/sudoers 中定义普通用户 2. 设置 阿里云 yum 镜像, 参考 https://opsx.alibaba.com/mirror # 备份mv /etc/yum.repos.d/CentO...

北漂的我
昨天
2
0
Proxmox VE技巧 移除PVE “没有有效订阅” 的弹窗提示

登陆的时候提示没有有效的订阅You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options. 用的是免费版的,所以每次都提示......

以谁为师
昨天
3
0
Java设计模式之外观模式(门面模式)

什么是外观模式   外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口...

须臾之余
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部