Mongodb快速入门
来源:互联网 发布:阿里郎电影百度云 编辑:程序博客网 时间:2024/06/05 11:57
1.Why MongoDB?
我个人有个习惯,要学习某个东西,我一定会去了解它的优点,不然我为什么要把时间花在上面呢?了解后,开始迅速地入门操作吧
1.安装MongoDB,启动service
2../mongo启动客户端
3.切换数据库,如果不存在名为dummy的数据库,则创建 .类比于oracle的实例
use dummy4.创建集合,类比于sql数据库里的table
db.createCollection('author')
5.查看所有数据库以及当前数据库下的集合
show databases/collections
6.删除集合
db.author.drop
7.向集合中插入数据,一个数据块是一个文档,类比于SQL数据库表里的一行。结构为bson(简单理解为存储为二进制的json),各文档的数据结构可以不同,使用灵活
db.createCollection('movie')
db.movie.insert({title:'yingziairen',director:'hehe',stars:['Angela Zhang','Jin Boran'],tags:['romance','drama'],debut: new Date(1994,7,6,0,0), likes: 864367, dislikes: 30127, comments:[{name:'zj',text:'good,i like it',like:'10000'},{name:'wj',text:'angela is so beautiful!',like:'12345'} ]})
8.插入多个document
db.movie.insert([ { title: 'Fight Club', director: 'David Fincher', stars: ['Brad Pitt', 'Edward Norton', 'Helena Bonham Carter'], tags: 'drama', debut: new Date(1999,10,15,0,0), likes: 224360, dislikes: 40127, comments: [ { name:'user7', text: 'Good Movie!', dateCreated: new Date(2009,10,11,6,20), like: 2 } ]},{ title: 'Seven', director: 'David Fincher', stars: ['Morgan Freeman', 'Brad Pitt', 'Kevin Spacey'], tags: ['drama','mystery','thiller'], debut: new Date(1995,9,22,0,0), likes: 134370, dislikes: 1037, comments: [ { name:'user3', text: 'Love Kevin Spacey', dateCreated: new Date(2002,09,13,2,35), like: 0 }, { name:'user2', text: 'Good works!', dateCreated: new Date(2013,10,21,6,20), like: 14 }, { name:'user7', text: 'Good Movie!', dateCreated: new Date(2009,10,11,6,20), like: 2 } ]}])
9.查询
db.movie.find().pretty() //pretty()经过美化后的输出格式
db.movie.find('director':'hehe') db.movie.find({'director': 'David Fincher','stars':'Morgan Freeman'}) //AND对于包含多个值的key只要符合一个就可以了db.movie.find({$or:[{'stars':'Morgan Freeman'},{'stars':'Angela Zhang'}]}) //ordb.movie.find({likes:{$gt:10000}}) $gt,$lt,$get,$let<=,$ne key的引号可要可不要db.movie.findOne(director:'David Fincher') 按磁盘存储顺序返回第一个。请注意,findOne()自带pretty模式,所以不能再加pretty()db.movie.find().skip(1).limit(1) 跳过第一条记录,从第二条开始查一条db.movie.find({'tags':'drama'},{'debut':1,'title':1,'_id':0}).pretty() //select非*,find的第二个参数是用来控制输出的,1表示要返回,而0则表示不返回。默认值是0,但_id是例外
db.movie.find({title:/ingz/}).pretty() //使用正则表达式查询where title like '%ingz%'
db.movie.find({'comments.name':'zj'}) //通过内嵌json的K-V过滤10.更新:
db.movie.update({title:'Seven'},{$set:{likes:134371}})db.movie.update({title:'Seven'}, {$inc:{likes:2}}) 增量更新注意如果有多部符合要求的电影。则默认只会更新第一个。如果要多个同时更新,要设置{multi:true}db.movie.update({}, {$inc:{likes:10}},{multi:true})以上的更新操作会替换掉原来的值,所以如果你是想在原有的值得基础上增加一个值的话,则应该用$pushdb.movie.update({'title':'Seven'}, {$push:{'tags':'popular'}})db.movie.update({'title':'Seven'}, {$set:{'tags':'popular'}}) //原tags为array,变为String类型11.删除:
db.movie.remove({'tags':'romance'})上面的例子会删除所有标签包含romance的电影。如果你只想删除第一个,则db.movie.remove({'tags':'romance'},1)
12.排序:
排序:1升序,-1降序
db.movie.find().sort({'title':1}).pretty()
windows下图形化界面mongo客户端推荐:robo 3T
软件直接上手,支持shell操作。仅提1点刚接触容易被往常经验坑的地方:
1.输入查询条件后回车不会执行,需要按F5执行
后记本篇blog为mongoDB学习入门笔记,希望能帮到初识mongo的人(尤其是测试人员了解增删改查以及排序)了解mongoDB最最基本的操作,参考的原文链接:
https://github.com/StevenSLXie/Tutorials-for-Web-Developers/blob/master/MongoDB%20%E6%9E%81%E7%AE%80%E5%AE%9E%E8%B7%B5%E5%85%A5%E9%97%A8.md
阅读全文
0 0
- MongoDB快速入门
- mongoDB快速入门
- MongoDB快速入门笔记
- mongodb快速入门
- MongoDB快速入门
- MongoDB快速入门
- mongodb快速入门
- MongoDB快速入门
- MongoDB快速入门
- mongodb快速入门
- Mongodb快速入门
- mongoDB C# 驱动快速入门
- NoSQL Mongodb的快速入门
- NodeJS中的MongoDB快速入门
- NodeJS中的MongoDB快速入门
- MongoDB快速入门(Mac)
- 主流NOSQL数据库之MongoDB快速入门
- Windows下MongoDB的快速入门
- Portia可视化爬虫部署
- Intellij IDEA maven 不能建java文件
- 【DIY】实现一个缓存管理器
- 洛谷P2915 Usaco08 Mixed Up Cows
- JAVA_编程小案例_拆高位数字为多个个位数字
- Mongodb快速入门
- C语言:文件函数 fopen(),fclose(),fwrite(),fread()
- 大学生活记录2017.10.26
- Vue之通过http服务打开build后的项目
- 简单的js俄罗斯方块游戏源码
- java 对 汉字排序(按照拼音字母排序)
- 相机客观参数整理软件需求报告自动化统计
- 几种二分方法整理
- Unity Lua UI界面封装