1、每次启动需要配置启动文件
mongod --dbpath G:\data\db
执行完上面命令再打开一个新的窗口执行 mongo
也可通过后台参数启动mongo:
./mongod -dbpath /data/mongo/ -logpath /data/mongo/mongo.log -logappend -fork -port 27017
2、show dbs #查看所有数据库
use mydb #使用mydb数据库,没有当前数据库则创建
show collections #查看该数据库下所有的表
3、MongoDB中的查询
db.col.find() #查看col集合下所有的document(document相当于mysql中的row)
db.col.find().pretty() #以格式化的方式来显示所有文档
db.col.find({"by":"菜鸟教程"}) #条件查询相当于sql中 where by = '菜鸟教程'
db.col.find({"likes":{$lt:50}}) # where likes < 50
db.col.find({"likes":{$lte:50}}) #where likes <= 50
db.col.find({"likes":{$gt:50}}) # where likes > 50
db.col.find({"likes":{$gte:50}}) #where likes >= 50
db.col.find({"likes":{$ne:50}}) #where likes != 50
db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}) #WHERE by='菜鸟教程' AND title='MongoDB 教程'
db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}) #WHERE by='菜鸟教程' OR title='MongoDB 教程'
db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}) #where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')
4、MongoDB中的删除
db.col.remove({'title':'MongoDB 教程'}) #移除 title 为 'MongoDB 教程' 的文档
db.col.remove({}) #删除col中的数据
5、两种MongoDB中的插入
db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
document=({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 });
db.col.insert(document)
6、MongoDB中的更新
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) #通过 update() 方法来更新标题(title)
#save() 方法通过传入的文档来替换已有文档
db.col.save({     "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 }) #替换了 _id 为 56064f89ade2f21f36b03136 的文档数据
7、MongoDB中的排序
使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,其中 1 为升序排列,而-1是用于降序排列
db.col.find({},{"title":1,_id:0}).sort({"likes":-1}) #col 集合中的数据按字段 likes 的降序排列
8、MongoDB中的索引
db.col.ensureIndex({"title":1}) #为title字段建立索引,1为升序,2为降序
db.col.ensureIndex({"title":1,"description":-1}) #使用多个字段创建索引(关系型数据库中称作复合索引)
9、MongoDB中的聚合(aggregate)
主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])  #集合计算每个作者所写的文章数,$sum计算总和,类似于select by_user as _id, count(*) as num_tutorial from mycol group by by_user

转载于:https://www.cnblogs.com/jeavy/p/11349931.html

mongodb 笔记相关推荐

  1. MongoDB笔记---路遇超多坑

    MongoDB笔记-路遇超多坑 Mac安装MongoDB时需要关闭本机SIP 终端执行 csrutil status ---检查SIP是否开启 System.....:enabled 开启状态 当文件 ...

  2. MongoDB笔记记录(雷哥课堂)–基本命令

    MongoDB笔记记录(雷哥课堂)–基本命令 3 常用命令 3.1 数据库操作 3.1.1 选择和创建数据库 use 数据库名称 如果数据库不存在就自动创建,如果存在则选择该数据库 以下数据库名是保留 ...

  3. mongodb笔记(三)

    1.删除文档(remove()函数) 在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯. 语法: db.collection.remove(<qu ...

  4. YII2操作mongodb笔记

    2019独角兽企业重金招聘Python工程师标准>>> 操作之前得保证已经安装了mongodb,windows下安装可参考另一篇博文: http://my.oschina.net/c ...

  5. Mongodb 笔记04 特殊索引和集合、聚合、应用程序设计

    特殊索引和集合 1. 固定集合:固定集合需要事先创建好看,而且它的大小是固定的.当固定集合被占满时,如果再插入新文档,固定集合会自动将最老的文档从集合中删除. 2. 创建固定集合:db.createC ...

  6. YII2操作mongodb笔记(转)

    componets配置: 'mongodb' => ['class' => '\yii\mongodb\Connection','dsn' => 'mongodb://test:12 ...

  7. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  8. mongodb笔记2

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...

  9. Mongodb笔记(三)user aggregate mapReduce

    版本:mongodb3.4. User: mongodb使用验证登录:默认不开启,mongod中使用--auth开启:  mongod -port=3000 --auth  : 基本方法: db.cr ...

  10. MongoDB笔记 -- ReplicationSet复制集

    文章目录 环境初定 搭建过程 现象观察 环境初定 MongoDB安装过程参考:https://blog.csdn.net/weixin_42480750/article/details/1089021 ...

最新文章

  1. 使用dom4j解析XML例子
  2. DotNetNuke: System.Security.Cryptography.CryptographicException: Bad Data
  3. roads 构筑极致用户体验_智美双极 引领旗舰 亚洲龙探索革新的高品质体验
  4. 中石油训练赛 - Get Strong(dfs双向搜索+二分)
  5. linux之通过strings命令查看so里面是否包含****字符串
  6. [渝粤教育] 西南科技大学 微机原理与应用 在线考试复习资料(1)
  7. 《学习CSS布局》学习笔记
  8. 实体框架(Entity Framework)快速入门
  9. python刷今日头条阅读量_揭露头条刷阅读量内幕:怎么刷的今日头条阅读量
  10. 建表mysql语句吗_mysql建表语句问题
  11. python3操作win32com报错:AttributeError: Open.SaveAs 或者<COMObject Open>“, line 8, in SaveAs pywintypes.c
  12. 洛谷-P1427-小鱼的数字游戏
  13. 打开Charles浏览器无法上网
  14. 如何区分加密、压缩、编码?
  15. Keil MDK使用编译器AC5与AC6生成浏览信息的差异
  16. MFC实现CIE1931
  17. 2-直观体验OAuth2
  18. Cesium 填挖方分析
  19. (前端)html与css css 18、清除浮动,溢出隐藏
  20. 使用计算机对炼钢过程进行实时监控,新钢炼钢-轧钢生产过程缓冲环节的解析、优化与控制 张志宏...

热门文章

  1. 2020 年 9 月程序员工资统计,新出炉!
  2. 开源的IDE?还真是头一次见!Github标星30.7K!值得拥有!
  3. 这几个问题解决了,怎么设计大型网站架构不再是困难
  4. 谈谈 Linux 假死现象
  5. opengl在三维场景中绘制透明物体_WPF 3D绘图-三维建模技术井眼轨迹图实现(一)...
  6. tcp下载窗口太小的问题_面试官:换人!他连 TCP 这几个参数都不懂(二)
  7. python对象的深复制与浅复制
  8. JavaScript中DOM(第二天)
  9. ecshop 影响全局的标量lib_main.php
  10. 怎么样eclipse发达国家多重聚合关系maven项目和使用git管理