MongoDB 是一款开源、跨平台、分布式,具有大数据处理能力的文档存储数据库。在 2007 年由 MongoDB 软件公司开发完成,并实现全部代码源发展。目 前,该文档数据库被国内外众多知名网因所采纳,用于提高数据访问的处理速度 和大数据存储问题。

基本操作命令 :

  show dbs  :  显示所有数据库(空数据库不会显示)。

    use dbname  : 切换至  数据库 dbname。

db.stats()    显示 数据库状态

  db.dropdatabase()  删除当前数据库。

  db. getCollectionNames ()  查看当前数据库下的所有集合的名称

  show roles   查看当前数据库的用户角色权限及用户名/密码信息

增删改查:

  插入:

  db.student.insert({"name":"Jason","age":20})    student 为集合名称,如果没有该集合,会自动创建。

    db.student.insert([{"name":"dalie","age":30},{"name":"sun","sex":"male"}]) 插入多条记录 。 同一个集合中的文档,key 不用保持一致。

  document = {"name":"biao","age":12}

   db.student.insert(document);                 也可以用声明变量的方式  将文档插入集合中

  db.student.insert([{"name":"wang","age":11},{"name":"goudan","age":1}],{ordered:true}) 顺序插入  ordered为true时,如存在主键冲突的数据,会导致全部插入失败,false时,除出错记录外,其他记录正常插入。

查询:

  db.student.find()   列出该集合内所有文档。

  db.student.find({"name":"Jason"})  括号内 可以填写 匹配条件  类似于 sql 中where

  db.student.fingOne()   db.student.findOne({"name":"Jason"})   列出集合内符合条件的第一条文档

   db.student.find().pretty()  将结果 以优美的形式展示。

db.student.find({},{name:1,age:1,_id:0}).pretty()    可以设置要查询的key ,1显示,0不显示。

  db.student.find().limit(2)  返回前两条文档

   db.student.find().skip(2) 跳过前两条文档,显示 之后的所有文档。

   db.student.find().skip(2).limit(1) 显示第三条文档。

   db.student.find({name:{$in:["Mike","Jason"]}})    $in 实现 范围查询。$in 用于不同文档指定同一个 Key 进行或条件匹配, $or 可以指定多个 Key 或条件匹配。

  db.student.find({$or:[{name:"Jason"},{age:12}]})

  更新:

   db.student.update({name:"Jason"},{$set:{age1:12}})

   $set  更新要修改的字段  $unset 删除该字段  $rename 更改字段名 $inc 修改数值做加法运算。

   db.collection.updateOne() 。与 update()唯一的 区别是命令语法里少了 一个 multi: <boolean>选项, 也就是 updateOne()只适用于符合条件的一条文档的修改任务。

   db.collection.updateMany() 。与 update()唯一的区别是命令语法里少了 一个 multi: <boolean>选项, 也就是 updateMany()只适用于符合条件的多条文档的修改任务。
   db.collection.replaceOne() 。与 update()的区别有两处, 一个没有 multi: <boolean> 选项;另外一个在第二个参数 Cupdate 的<update>)里不能有更新操作符。

  删除:

  db.student.remove("name":"Jason") 删除姓名为Jason的文档。

   db.student.remove({}) 删除集合内所有文档,但如果要删除整个集合 db.student.drop() 效率更高,它会直接删掉集合及索引。

Mongodb 学习笔记(一)的更多相关文章

  1. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  2. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  3. MongoDB 学习笔记(原创)

    MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...

  4. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  5. MongoDB学习笔记(转)

    MongoDB学习笔记(一) MongoDB介绍及安装MongoDB学习笔记(二) 通过samus驱动实现基本数据操作MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB ...

  6. 【转】MongoDB学习笔记(查询)

    原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ec ...

  7. MongoDB学习笔记(六)--复制集+sharding分片 && 总结

    复制集+sharding分片                                                               背景 主机 IP 服务及端口 Server A ...

  8. MongoDB学习笔记(五)--复制集 && sharding分片

    主从复制                                                                                       主从节点开启 主节 ...

  9. MongoDB学习笔记(四)--索引 && 性能优化

    索引                                                                                             基础索引 ...

  10. MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁

    权限                                                                                             绑定内网I ...

随机推荐

  1. Server concepts 详解

    server status 是由 vm_state和task_state 计算出来的,vm_state是虚机当前的稳定状态(例如Active, Error),task_state是虚机当前的瞬间状态( ...

  2. uniapp - 关于ios调试

    [ios调试] 1.一台windows电脑.一根apple数据线(一旦连接以后,apple设备就会自动识别itunes软件,如果没有安装会提示) 2.安装itunes (爱思助手) 3.官方教程:ht ...

  3. H5 FormData对象的使用——进行Ajax请求并上传文件

    XMLHttpRequest Level2 添加了一个新的接口——FormData .[ 主要用于发送表单数据,但也可以独立使用于传输键控数据.与普通的Ajax相比,它能异步上传二进制文件 ] 利用F ...

  4. 使用 Spring Cloud Sleuth、Elastic Stack 和 Zipkin 做微服务监控

    关于迁移微服务架构,最常被提及的挑战莫过于监控.每个微服务应独立于其他服务的运行环境,所以他们之间不会共享如数据源.日志文件等资源. 然而,较容易的查看服务的调用历史,并且能够查看多个微服务的请求传播 ...

  5. vue的mixin简化开发

    vue的mixin可以将多个组件公用的声明周期方法和数据封装成一个对象,在不同的组件中自由插拔.实际做项目的时候,可以定义一些mixin,供多个组件使用.也非常有必要定义一个全局的mixin对象,对所 ...

  6. Ubuntu 配置镜像源

    Ubuntu 配置镜像源 注, 如果添加镜像后没有自己要安装的软件, 切回原镜像即可, 只是有点慢. cp /etc/apt/sources.list /etc/apt/sources.list.ba ...

  7. [LeetCode] 771. Jewels and Stones 珠宝和石头

    You're given strings J representing the types of stones that are jewels, and S representing the ston ...

  8. android基础---->WebView的使用

    webView的使用 我们通过一个小的测试程序来体会webView的简单使用,项目结构如下:

  9. 对QT多线程以及事件投递的理解

    1.使用QObject子类的movetothread方法 代替 QThread子类的run 实现多线程. 使用原始QThread对象的start方法启动线程==>连接原始QThread对象的st ...

  10. svn客户端清空账号信息的两种方法

    1.直接删除配置 C:\Users\Administrator\AppData\Roaming\Subversion\auth 一般在这个文件夹下 2.svn的设置里清空