Mongodb学习(二)
来源:互联网 发布:北京鼎泰网络推广公司 编辑:程序博客网 时间:2024/05/29 03:34
1、创建数据库或者切换数据库,使用命令: use database
use mymondb 在没有数据库mymondb的情况下会创建mymondb数据库,如果有mymondb数据库则切换到mymondb数据库下面!
2、删除数据库 使用命令:db.dropDatabase()
db.dropDatabase()则会删除当前使用的数据库
3、查看所有数据库,使用命令:show dbs 查看当前所在数据库,使用命令:db
4、创建数据库集合,有两种方式,分别为显式创建和隐式创建,这两种方式也不难理解,我的理解是显式创建就是先声明,在赋值,隐式创建就是声明的同时赋值,两种方式的使用方式如下:
显式创建:db.createCollection("集合名称")
隐式创建:db.集合名称.insert({})
5、查看当前数据库的所有集合,有两种命令
1、show collections
2、show tables
6、向集合中添加文档,使用命令:db.集合名称.insert({文档内容}),例如向集合mdb中添加添加一条文档,db.mdb.insert({"name":"zhangsan","age":18})
7、查询集合中的文档,使用方法 db.集合名称.find()或者db.集合名称.findOne(),两个命令的区别,find()查询查询所有的文档,findOne()是查询一个文档,默认查询第一个文档,如果需要传入查询条件,则把条件放入到方法中,例如,查询mdb中name为zhangsan的文档,db.mdb.find({"name":"zhangsan"}),使用findOne()命令查询年龄为25的文档,db.mdb.findOne({"age":25})
查询集合中的文档 有许多的表达式,关键字和函数可以使用,表达式(<, <=, >, >=,!=)的使用,以mdb集合中年龄为例
//年龄大于18: field > value
db.mdb.find({“age”:{$gt:18}});
//年龄小于19: field < value
db.mdb.find({"age":{$lt:19}});
//年龄大于等于18: field >= value
db.mdb.find({"age":{$gte:18}});
//年龄小于等于18: field <= value
db.mdb.find({"age":{$lte:18}});
//年龄不等于18: field != value
db.mdb.find({"age":{$ne:18}});
常用的函数:统计(count)、排序(sort)、分页(skip、limit)
db.mdb.count();//查询集合的数量
db.mdb.find().count();//查询集合的数量
db.mdb.find({age:{$lt:5}}).count();//带条件查询集合的数量
db.mdb.find().sort({age:1});//1:升序 -1: 降序
db.mdb.find().skip(2).limit(3);
db.mdb.find().sort({age:-1}).skip(2).limit(3);
db.mdb.find().sort({age:-1}).skip(2).limit(3).count();
db.mdb.find().sort({age:-1}).skip(2).limit(3).count(0);
db.mdb.find().sort({age:-1}).skip(2).limit(3).count(1);
常见关键字:
$all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回,不分数据的顺序和位置例如:查询mdb中num数组为[2,4,6,8]
$in与$nin 两个表达式的使用,$in相当于关系型数据库中的in,只要满足表达式的条件就会查询出来,$nin与$in相反,值在表达式中的不查询出来
$or与$nor两个表达式的使用,$or相当于关系型数据库的or,即只要满足一个条件即可查询相出来,$nor与$or相反
$exists表达式,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询mdb集合中存在name键的所有文档,可以使用 db.mdb.find({name:{$exists:1}})
$exists:1 表示真,指存在
$exists:0 表示假,指不存在
8、删除集合中的文档,使用方法db.集合名称.remove(),如果不传入参数,则删除改文档下所有的文档,例如:删除mdb集合中年龄为25的文档
db.mdb.remove({"age":25})
9、更新集合文档,语法为:db.collection.update(criteria,objNew,upsert,multi),参数说明:
criteria:用于设置查询条件的对象
objNew:用于设置更新内容的对象
upsert:如果记录已经存在,更新它,否则新增一个记录,取值为0或1
multi:如果有多个符合条件的记录,是否全部更新,取值为0或1
注意:默认情况下,只会更新第一个符合条件的记录一般情况下后两个参数分别为0,1 ,即:db.collection.update(criteria,objNew,0,1)
将集合mdb中姓名为zhangsan的更新为curry,db.mdb.update({"name":"zhangsan"},{"name":"curry"})
可以看出经过更新后,为更新的字段不见啦,原因是因为没有使用$set来指定更新哪个字段,没有使用$set,其实是新建了一个文档去覆盖了原来的文档,所以导致其他字段补间啦,使用$set来指定更新键的值,如果这个键不存在,则创建它。例如:更新集合mdb中name为zhangsan的文件,将name更新为curry,db.mdb.update({"name":"zhangsan"},{$set:{"name":"curry"}},0,1)
$inc表示使某个键值加减指定的数值,例如:将mdb集合name等于curry的age+1;其他值不变,db.mdb.update({"name":"curry"},{$inc:{"age":1}},0,1)
$unset 用来删除某个键,例如:删除mdb集合name为curry的age键。db.mdb.update({"name":"curry"},{$unset:{"age":1}},0,1)
到此,mongodb常用的操作命令就基本上学习完了!
- MongoDB学习系列 (二)
- MongoDB学习笔记《二》
- 学习Mongodb(二)
- mongodb学习(二)
- mongodb学习二
- MongoDB学习笔记<二>
- MongoDB 学习笔记二
- MongoDB学习总结《二》
- Mongodb学习笔记(二)
- mongoDB学习(二)
- mongodb学习(二)
- MongoDB学习二
- Mongodb学习(二)
- mongoDB学习笔记二
- mongodb学习笔记二
- mongo 学习二 mongodb shell操纵mongodb
- MongoDB学习笔记(二) MongoDB常用命令
- 学习MongoDB 二:MongoDB添加、删除、修改
- ArrayList和LinkedList的用法区别
- 一些不曾注意的代码规范
- github(二)----------日常生活简单使用git提交打码~~
- 使用 Glyphr 玩转Linux字体
- 落谷P1341无序字母对
- Mongodb学习(二)
- github(三)----------日常生活简单使用git合并分支打tag
- php无限极分类实现方法
- Git常用命令
- 关于DataStorageService
- 学习格言
- 操作系统复习1
- oracle学习之:审计
- 搜索命令