// 查看所有数据库
show dbs
// amdin 0.000GB
// local 0.000GB // 使用数据库
use admin
// switched to db admin // 创建数据库:向数据库中插入记录
db.user.insert({ 'name': 'wangxi' })
// WriteResult({ "nInserted" : 1 }) // 显示当前数据库
db
// admin // 查询当前集合中的文档
db.user.find()
// { "_id" : ObjectId("59f7f0088cc643905a25fa7f"), "name" : "wangxi" } // 根据条件查询(and 条件查询)
db.user.find({ name: 'wangxi', age: '25' }) // 以格式化的方式来显示所有文档
db.col.find().pretty() // 只返回一个文档
db.col.findOne() // 跳过指定数量、返回指定数量的文档
db.user.find({}).limit(3).skip(1) // or 条件查询
db.user.find({ $or: [{ name: 'wangxi'}, { name: 'hanjiaren'}]})
// { "_id" : ObjectId("59f821f8f4bf9a3582c6ef5c"), "name" : "wangxi" }
// { "_id" : ObjectId("59f8222df4bf9a3582c6ef5f"), "name" : "hanjiaren" } // 条件操作符
db.user.find({ age: { $gt: 20 }}) // 大于
db.user.find({ age: { $lt: 30}}) // 小于
db.user.find({ age: { $gte: 30}}) // 大于等于
db.user.find({ age: { $lte: 30}}) // 小于等于
db.user.find({ age: { $eq: 25}}) // 等于
db.user.find({ age: { $ne: 25}}) // 不等于 // $type 操作符 —— 获取值为指定类型的文档(可以查表获取不同类型的文档对应的编号)
db.col.find({ title: { $type: 2 }}) // 删除当前数据库
db.dropDatabase()
// { "dropped" : "admin", "ok" : 1 } // 显示当前数据库中的所有集合
show collections / show tables
// user // 删除指定集合
db.user.drop()
// true // 更新文档
db.user.update({ name: 'wangxi'}, { $set: { name: 'Raychan' }}, { upsert: true, multi: true })
// WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.user.find()
// { "_id" : ObjectId("59f81c6f8cc643905a25fa87"), "name" : "Raychan" } db.user.update({ name: 'wangxi'}, { $set: { name: 'Raychan' }}, true, true)
db.user.find()
// { "_id" : ObjectId("59f81c6f8cc643905a25fa87"), "name" : "Raychan" }
// { "_id" : ObjectId("59f81ef674a03e811969aa93"), "name" : "Raychan" } // 删除文档
db.user.remove({ name: 'Raychan' }, true) // 只删除一个文档
// WriteResult({ "nRemoved" : 1 }) // 删除所有文档
db.user.remove({}) // {} 不能少
WriteResult({ "nRemoved" : 5 }) // remove 已经过时,官方推荐使用 deleteOne 和 deleteMany
db.user.deleteOne({ name: 'wangxi'})
// { "acknowledged" : true, "deletedCount" : 1 } // 排序
db.user.find({}).sort({ age: 1}) // 聚合 $sum、$avg、$max、$min(字段引用要加 $)
db.user.aggregate([{ $group: { _id: '$name', num_of_user: { $sum: 1}}}])
// select name, count(*) from user group by name // 管道操作
// $project: 修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
db.user.aggregate({ $project: { _id: 0, name: 1, age: 0 }})
// 0 代表不输出,1 代表输出 类似于 sql 中的 select name from user // $match: 用于过滤操作
// 筛选 age > 20 的文档
db.user.aggregate({ $match: { age: { $gt: 20 }}}) // $skip: 效果和 find().skip(num) 相同
db.user.aggregate({ $skip: 3 })

MongoDB 基本操作学习笔记的更多相关文章

  1. MongoDB快速学习笔记

    一,下载. XP系统,32位的下载地址: https://www.mongodb.org/dl/win32/i386 例:win32/mongodb-win32-i386-2.0.7.ziphttp: ...

  2. MongoDB MapReduce学习笔记

    http://cnodejs.org/topic/51a8a9ed555d34c67831fb8b http://garyli.iteye.com/blog/2079158 MapReduce应该算是 ...

  3. MongoDB入门学习笔记之简介与安装配置

    一.MongoDB简介 1.文档数据库 MongoDB是一款开源的文档型非关系数据库,具有高性能.高可靠性和自动扩展等特点.MongoDB中的每一条记录是一个文档,其数据存储结构为键/值对,类似JSO ...

  4. mongodb的学习笔记一(集合和文档的增删改查)

    1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据 ...

  5. mySQL基本操作学习笔记(一)

                                                                                                        ...

  6. #005Python实验楼基本操作学习笔记

    Ctrl + D 输入一个 EOF 字符来退出解释器,也可以键入 exit() 来退出解释器. 打开 Xfce 终端,键入 vim helloworld.py 来启动 Vim 并编辑 hellowor ...

  7. Linux对文件内容基本操作(学习笔记七)

    一.cat 1.1.查看文件内容 格式:cat 文件名 [root@model /]# cat /etc/resolv.conf # Generated by NetworkManager names ...

  8. MongoDB 学习笔记(原创)

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

  9. MongoDB学习笔记系列

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

随机推荐

  1. Linux之内存描述符mm_struct

    Linux对于内存的管理涉及到非常多的方面,这篇文章首先从对进程虚拟地址空间的管理说起.(所依据的代码是2.6.32.60) 无论是内核线程还是用户进程,对于内核来说,无非都是task_struct这 ...

  2. 微信公众号问题:{"errcode":40125,"errmsg":"invalid appsecret, view more at http:\/\/t.cn\/LOEdzVq, hints: [ req_id: kL8J90219sg58 ]"}

    在调试微信公众号授权登录时遇到了这个错误,着实是心烦了半天,公众号相关开发以前是经常做的,很久没有接触了,而且遇到了这么个以前没遇到的问题. {"errcode":40125,&q ...

  3. [51nod1407]与与与与

    有n个整数,问从他们中取出若干个数字相与之后结果是0的有多少组. 答案比较大,输出对于 1,000,000,007 (1e9+7)取模后的结果. Input 第一行输入一个整数n.(1<=n&l ...

  4. 初识Spider_Man(爬爬虫)

    一:引子

  5. MLlib--FPGrowth算法

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/c9f211ee76528cffc4b6d741a55ac243.html FPGrowth算法_挖掘商品之间的 ...

  6. memcached内存模型

    内存管理 内存结构 把内存划分成不同的slab class仓库 把仓库切分成不同尺寸的小块(chunk),用来存储缓存数据 数据内存分配 首先根据数据的大小找到对应的slab class 找到空闲的c ...

  7. Nginx的启动(start),停止(stop)命令

    http://blog.csdn.net/u010739551/article/details/51654859 查看Nginx的版本号:nginx -V 启动Nginx:start nginx 快速 ...

  8. LAMP环境跟LNMP环境有什么不同,主要用什么地方

    LAMP即Linux+Apache+Mysql/MariaDB+Perl/PHP/Python Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网 ...

  9. 【开发技术】Eclipse插件Call Hierarchy简介及设置

    Call Hierarchy 主要功能是 显示一个方法的调用层次(被哪些方法调,调了哪些方法) 在MyEclipse里Help - Software updates - Find and instal ...

  10. Java泛型类和泛型方法

    java编程思想说道: 泛型类是应用在整个类上,但同时可以在类中包含参数化方法,而这个方法所在的类可以是泛型,也可以不是泛型,也就是说是否有泛型方法,与其所在的类是否是泛型类没有关系. 泛型方法是的该 ...