MongoDB 基本操作学习笔记
// 查看所有数据库
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 基本操作学习笔记的更多相关文章
- MongoDB快速学习笔记
一,下载. XP系统,32位的下载地址: https://www.mongodb.org/dl/win32/i386 例:win32/mongodb-win32-i386-2.0.7.ziphttp: ...
- MongoDB MapReduce学习笔记
http://cnodejs.org/topic/51a8a9ed555d34c67831fb8b http://garyli.iteye.com/blog/2079158 MapReduce应该算是 ...
- MongoDB入门学习笔记之简介与安装配置
一.MongoDB简介 1.文档数据库 MongoDB是一款开源的文档型非关系数据库,具有高性能.高可靠性和自动扩展等特点.MongoDB中的每一条记录是一个文档,其数据存储结构为键/值对,类似JSO ...
- mongodb的学习笔记一(集合和文档的增删改查)
1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据 ...
- mySQL基本操作学习笔记(一)
...
- #005Python实验楼基本操作学习笔记
Ctrl + D 输入一个 EOF 字符来退出解释器,也可以键入 exit() 来退出解释器. 打开 Xfce 终端,键入 vim helloworld.py 来启动 Vim 并编辑 hellowor ...
- Linux对文件内容基本操作(学习笔记七)
一.cat 1.1.查看文件内容 格式:cat 文件名 [root@model /]# cat /etc/resolv.conf # Generated by NetworkManager names ...
- MongoDB 学习笔记(原创)
MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
随机推荐
- 自定义MVC框架---第二章
模型层的封装 模型层封装的原则 介绍: 模型层,也就是Model这一层,用来封装对数据库操作的封装 由于现在主流的编程思想还是OOP面向对象编程,也就是说项目的基本单位就是一个一个类文件,那么如何使用 ...
- BZOJ1786: [Ahoi2008]Pair 配对/1831: [AHOI2008]逆序对
这两道题是一样的. 可以发现,-1变成的数是单调不降. 记录下原有的逆序对个数. 预处理出每个点取每个值所产生的逆序对个数,然后dp转移. #include<cstring> #inclu ...
- hdu_1031_结构体排序
题目很好理解,将列求和,取前k大的 我的代码思路:对列求和,后取出前k大的id加入结果数组,对比后面和第k大相同的评分id也加入到结果数组,最后对结果数组排序 代码: #include<cstd ...
- 2017ecjtu-summer training #6 Gym 100952D
D. Time to go back time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- hdu_1251统计难题(字典树Trie)
统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submi ...
- android弹力效果菜单、组件化项目、电影票选座控件的源码
Android精选源码 android启动扫一扫和收付款的小部件源码 android弹力效果的抽屉菜单源码 对RecyclerView Item做动画 源码 android类似QQ空间,微信朋友圈,微 ...
- C语言中%d,%p,%u,%lu等都有什么用处
%d 有符号10进制整数(%ld 长整型,%hd短整型 )%hu 无符号短整形(%u无符号整形,%lu无符号长整形)%i 有符号10进制整数 (%i 和%d 没有区别,%i 是老式写法,都是整型格式) ...
- Spring框架学习笔记(9)——Spring对JDBC的支持
一.使用JdbcTemplate和JdbcDaoSupport 1.配置并连接数据库 ①创建项目并添加jar包,要比之前Spring项目多添加两个jar包c3p0-0.9.1.2.jar和mysql- ...
- UEP-弹窗
注意:弹出窗口Action中的dataWrap属性要加上set方法 默认情况下为GET方式传递参数,此方法对参数的长度有限制,若是长度超过范围的话请使用POST方式 function testPopW ...
- 再起航,我的学习笔记之JavaScript设计模式29(节流模式)
节流模式 概念介绍 节流模式(Throttler): 对重复的业务逻辑进行节流控制,执行最后一次操作并取消其他操作,以提高性能. 优化滚动事件 有的时候我们再为滚动条添加动画的时候,会发现滚动条不停的 ...