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. ·分布式文件系统HDFS 练习

    作业要求来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3292 1.目录操作 在HDFS中为hadoop用户创建一个用户目录( ...

  2. POST请求BODY格式区别

    在PostMan中用Post方式,Body有form-data,x-www-form-urlencoded,raw,binary四种. Request Header示例:POST /upload.do ...

  3. 解决Ubuntu系统“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系”的有效方法

    ubuntu系统下安装东西,很多时候会出现版本冲突的情况: 有效的解决方法是使用aptitude来帮助降级. 首先安装aptitude 而后使用aptitude来安装前面有冲突的构建,同样也是要使用r ...

  4. 安装EOS合约工具eosio.cdt

    安装: 安装完之后 会产生 eosio-cpp_, eosio-cc, eosio-ld, eosio-pp, and _eosio_abigen (These are the C++ compile ...

  5. Java并发包之阶段执行之CompletionStage接口

    前言 CompletionStage是Java8新增得一个接口,用于异步执行中的阶段处理,其大量用在Lambda表达式计算过程中,目前只有CompletableFuture一个实现类,但我先从这个接口 ...

  6. 密钥密码体系CA,CSC,CV

    密钥密码体系CA,CD,CSC,CV 片内操作系统 (cos) 密码学(Cryptography) 非接触式智能卡Contactless Smart Card, CSC 密钥名词 名词 英文说明 中文 ...

  7. 获取apk的Activity和Package

    2.查看包名和activity adb logcat|grep -i activitymanager 获取当前界面的activity 1.adb shell dumpsys window window ...

  8. php_mvc实现步骤十

    shop34-19-商品添加 功能:添加商品表单 Index.php?p=back&c=Goods&a=add Controller-Action: 新建商品控制器类 Applicat ...

  9. java enum类探索

    参考网址1, 参考网址2 一直对枚举有点迷惑,现在试着理解枚举. 1.首先,普通类与枚举 的区别.拿两个例子比较吧 普通类: /** * 一个普通类 * @author Administrator * ...

  10. Get Docker Engine - Community for Ubuntu

    Get Docker Engine - Community for Ubuntu Uninstall old versions$ sudo apt-get remove docker docker-e ...