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. Beta3冲刺

    队名:福大帮 组长博客链接: 作业博客 : https://edu.cnblogs.com/campus/fzu/SoftwareEngineeringClassAofFuzhouUniversity ...

  2. 错误: -source 1.6 中不支持 diamond 运算符

    问题 错误: -source 1.6 中不支持 diamond 运算符 解决步骤 1.检查ide的默认编译环境 ,快捷键ctrl + alt +s 找Java Compiler ,发现设置是 Targ ...

  3. C语言函数sscanf()的用法-从字符串中读取与指定格式相符的数据(转)

    C语言函数sscanf()的用法 sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: int sscanf( string str, string fmt, mixed var ...

  4. arcpy实例教程-上游流域下游流域查找

    arcpy实例教程-上游流域下游流域查找 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:对于选定某一流域,查找其直接(一次)的上游流域和下 ...

  5. 常见的 35 个 Python 面试题及答案

    1. Python 面试问题及答案 作为一个 Python 新手,你必须熟悉基础知识.在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试.包括 Python 开发 ...

  6. Qt button按钮添加Label标签播放GIF图片

    QPushButton btn = new QPushButton(); QVBoxLayout* layout = new QVBoxLayout(btn); QLabel* label = new ...

  7. IntelliJ IDEA添加JavaDOC注释 方法 快捷键

    第一种方法 Settings ->Keymap ->Other ->Fix doc comment ->右键 ->选择 Add Keyboard Shortcut, 然后 ...

  8. 【前端】input输入框只能输入大于等于0的正数

    大于等于0的正数,允许小数 <input type="number" step="1" min="0" onkeyup="t ...

  9. EIGENSTRAT计算PCA的显著性

    之前我写过一篇文章群体遗传分析分层校正,该选用多少个PCA?,里面提到可以通过EIGENSTRAT软件确定显著的主成分,后续就可以将显著的主成分加入协变量中. 这篇文章主要是讲如何通过EIGENSTR ...

  10. 【linux学习笔记六】压缩 解压缩命令

    所有的压缩文件一定要写压缩格式的扩展名 .zip格式压缩 #压缩文件 zip 压缩文件名 源文件 #压缩目录 zip -r 压缩文件名 源目录 #解压缩 unzip 压缩文件 .gz格式压缩 #压缩为 ...