5 一些基本操作

#添加内嵌文档
db.users.update{{username:"master"},{$set:{hobby:{cities:["beijing","shanghai","shenzhen"],movies:["marvel","DC"]}}}}#查询内嵌文档属性,属性需要加引号,值可以为数组里的值
db.users.find({"hobby.movies":"marvel"})#内嵌文档数组添加值,addToSet如果数组中已有该值则不会添加
db.users.update({username:"master",{$push:{"hobby.movies":"Sony"}}})
db.users.addToSet({username:"master",{$push:{"hobby.movies":"Sony"}}})#删除内嵌文档中的值
db.users.remvoe({"hobby.cities":"beijing"})#插入两万条数据,两种方式,数组插入速度更快
for(var i=1; i<=20000; i++){  db.numbers.insert({num:i})
}
var arr = [];
for(var i=1; i<=20000; i++){  arr.push({num:i});
}
db.number.insert(arr);#查询numbers中num为500的文档
db.nubmers.find({num:500})#查询numbers中num大于500的文档
db.nubmers.find({num:{$gt:500}})#查询numbers中num小于30的文档
db.nubmers.find({num:{$lt:30}})#查询numbers中num大于40小于50的文档
db.nubmers.find({num:{$gt:40,$lt:50}})#查询numbers中num中前10条数据
db.nubmers.find().limit(10)#查询numbers中num中第11条到第20条数据,skip跳过前10条,mongodb自动调整skip和limit
db.nubmers.find().skip(10).limit(10)
db.nubmers.find().limit(10).skip(10)#查询numbers中num大于40小于50的文档
db.nubmers.find($or:[{num:{$lt:50}},{num:{$gt:40}}])#numbers中num小于40的增加20
db.number.updateMany({num:{$lt:40}},{$inc:{num:20}})

6 文档之间的关系

  • 一对一(在mongodb中用内嵌文档体现一对一关系)
db.stus.insert(name:"master",{name:"worker"})
  • 一对多/多对一
#内嵌文档
db.stus.insert(name:"master",{name:["worker1","worker2"]})#将关联的id作为属性
db.stus.insert({list:['apple','banana'],user_id: ObjectId("[对应表id]")});
  • 多对多
db.teachers.insert([{name:"teacher1"},{name:"teacher2"},{name:"teacher3"}
]);db.stus.insert([{name:"student1".tech_ids:[teacher1_id,teacher2_id]},{name:"student2".tech_ids:[teacher2_id,teacher3_id]}
]);

7 排列和投影

#排序 sort({[属性名]:[值]}) 1表示升序,-1表示降序
db.emp.find({}).sort({sal:1,empno:-1})#投影 显示希望出现的列 1表示出现 0表示不出现 _id默认出现
db.emp.find({},{sal:1,_id:0})

8 导入文件

# --db库 --collection集合 --drop清空原油文档 --file导入的文件
mongoimport --db [数据库名] --collection [集合名] --type [文件类型] --headerline --file [文件路径]
#mongoimport --help可以看到指令,需要注意的是--db/-d都可以指明数据库,但是
#前面的'-'数量不同,--collection/-c也是同理,type可以是json/txt/csv文件
#headerline表示第一行为属性名不用导入

MongoDB学习笔记(三)相关推荐

  1. MongoDB学习笔记三:查询

    MongoDB中使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.find的第一个参数决定了要返回哪些文档,其形式也是一个文档,说明要执行的查询细节. 空的查 ...

  2. MongoDB学习笔记(一) MongoDB介绍及安装

    系列目录 MongoDB学习笔记(一) MongoDB介绍及安装     MongoDB学习笔记(二) 通过samus驱动实现基本数据操作     MongoDB学习笔记(三) 在MVC模式下通过Jq ...

  3. Mongodb使用学习笔记(三)

    文章目录 Mongodb使用学习笔记(三) 1. MongoDB 更新文档 1.1 update() 1.2 save() Mongodb使用学习笔记(三) 1. MongoDB 更新文档 参考:Mo ...

  4. Node.js+mongodb 学习笔记(三)swagger注释+用户管理

    Node.js+mongodb 学习笔记(三)swagger注释+用户管理 Node.js+mongodb 学习笔记(三)swagger注释+用户管理 用户注册 用户登录 修改密码 swagger注释 ...

  5. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

  6. MongoDB学习笔记【2】-- 试用

    大部分内容根据MongoDB官方手册整理:http://docs.mongodb.org/manual/contents/ 查看数据库 [root@slayer ~]# mongo MongoDB s ...

  7. MongoDB学习笔记(四)使用Java进行实时监控与数据收集(空间使用量、连接数)

    目录: MongoDB学习笔记(一)环境搭建与常用操作 MongoDB学习笔记(二)使用Java操作MongoDB MongoDB学习笔记(三)使用Spring Data操作MongoDB Mongo ...

  8. MongoDB学习笔记(四)--索引 性能优化

    索引                                                                                             基础索引 ...

  9. MongoDB学习笔记一:MongoDB的下载和安装

    MongoDB学习笔记一:MongoDB的下载和安装 趁着这几天比較空暇,准备学习一下MongoDB数据库.今天就简单的学习了一些MongoDB的下载和安装.并创建了存储MongoDB的数据仓库. 将 ...

  10. MongoDB 学习笔记八 复制、分片、备份与恢复、监控

    MongoDB 学习笔记八 复制.分片.备份与恢复.监控 MongoDB复制(副本集) 什么是复制? MongoDB 复制原理 MongoDB 副本集设置 副本集添加成员 MongoDB 分片 分片 ...

最新文章

  1. ios app内嵌入http服务器
  2. 数组引用以避免数组降阶(c++)
  3. JS将日期转换为yyyy-MM-dd HH:mm:ss
  4. 计算机投诉信英语作文,电脑投诉信英语作文
  5. asp.net 获取全部在线用户_Qamp;A | 在线考试问卷答疑
  6. jsonpath 判断是否包含_mysql json 判断某个key是否存在
  7. java源码-AtomicInteger
  8. request.GetResponse()超时的解决办法
  9. 杰出企业家的20个好习惯
  10. 小程序模板消息报错41028。解决方法
  11. 从维基百科到裴松之注三国志
  12. 六自由度机器人设计过程-范例
  13. 德律aoi程式制作_精典德律AOI检测程式制作手册(全).ppt
  14. 金山词霸不断的弹出窗口(金山词霸防欺诈提示),犹如病毒软件
  15. warning: Clone succeeded, but checkout failed.
  16. 计算机如何连接隐藏的无线网络,笔记本电脑怎么连接隐藏的无线网wifi
  17. 手机兼职赚钱,分享2个手机可操作的项目给你!
  18. 服务器连接硬盘出错,IBM服务器硬盘常见问题与故障诊断
  19. 计算机科学与技术专业适合什么人,计算机科学与技术专业怎么样 主要学什么内容...
  20. 2020双十一成交额 双11各电商平台销售额数据

热门文章

  1. Flowable 6.6.0 BPMN用户指南 -10 流程实例迁移 - 10.1 简单示例
  2. C语言实现建立顺序表,修改顺序表,插入顺序表,删除顺序表
  3. 特征工程之one-hot解读
  4. npm 启动项目报错 Cannot find module ‘\@babel\compat-data\data\corejs3-shipped-proposals‘
  5. SQL Server 基础操作(一)安装数据库
  6. 使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步
  7. 基础篇(二).ARMv8寄存器(2)
  8. Java小试牛刀—运算符
  9. 小试牛刀 - WordCount
  10. 对图像进行随机翻转和裁剪