mongodb学习总结
主要学习:mongodb菜鸟教程
1、 use database_name:如果数据库不存在则创建数据库,否则,切换到指定数据库。
2、 show dbs:显示所有数据库,如果数据库中没有数据的存在则不显示。
3、 use database_name —》db.dropDatabase():删除指定数据库。(database_name)
4、 use database_name —》db.collection_name.drop():删除指定集合。(collection_name)
5、 db.createCollection(name,option):创建集合,name是必须参数指定集合名称,option是可选参数,其有四个字段皆是可选参数。
(1) capped:如果是true,则创建有固定大小的集合,达到最大值时,会覆盖最早的文档。且此值为true,必须指定size参数。
(2) autoIndexId:如果为true,自动在 _id字段创建索引,默认false。
(3) size:capped为true,需指定此参数,规定集合大小。
(4) max:指定固定集合中包含文档的最大数量。
6、 db.collection_name.insert(document):插入文档,document可以是已经定义了的一个变量,也可以直接就是文档。这其中,如果collection_name集合并没有被创建,则这句话直接创建collection_name 集合。
7、 db.collection_name.save(document):save命令有两种作用:
(1) 如果指定了_id字段,则更新指定 _id 的文档。
(2) 如果没有指定 _id 字段,则与 insert命令效果相同。
8、 update():更新已存在的文档。
语法格式:db.collection_name.update(<query>,<update>,{upsert:<boolena>,multi:<boolean>,writeConcern:<docement>})
参数说明:
(1) query:update的查询条件,类似于sql语句中的where后面的语句。
(2) update:update的对象,类似于sql语句中的set后面的语句。
(3) upsert:如果不存在update的对象,true则插入,false不插入。
(4) multi:默认false,仅仅update查询到的第一条文档,设置为true则update按条件查询出来的所有文档。
(5) writeConcern:抛出异常等级。(3)(4)(5)这三个参数均是可选的。
Example:db.test.update({‘title’:’mongodb教程’},{$set:{‘title’:’MongoDB’}},{multi:true})。
9、 remove():删除文档。
语法格式:db.collection_name.remove(<query>,{justOne:<boolean>,writeConcern:<document>})
参数说明:
(1) query:可选,删除的文档的条件。
(2) justOne:可选,如果设为true或1,则只删除一个文档,如果没有设置,则删除所有符合条件的文档。
(3) writeConcern:可选:抛出异常的级别。
Example:db.test.remove({‘title’:’MongoDB’},{justOne:true})
10、 find():查询文档。
语法格式:db.collection_name.find(query,projection)
参数说明:
(1) query:可选:指定的查询条件。
(2) projection:可选,没看明白,可省略。
Example:db.collection_name.find({‘title’:’MongoDB’,’此处可以多选条件”,”隔开即可’}).pretty()
这种逗号隔开的方式可以认为是AND查询操作。
11、 OR查询操作:
语法格式+example:
db.test.find({$or:[{‘title’:’MongoDB’},{‘likes’:’100’}]}).pretty()。
AND和OR 的合用:
db.test.find({‘url’:’http://www.runoob.com’,$or:[{‘title’:’MongoDB’},{‘likes’:’100’}]}).pretty()
12、 条件语句查询:
13、 $type条件语句查询:
Example:db.test.find({“title”:{$type:1}})
上述这句话的意思是找title字段中数据类型是1,mongodb中类型1是double的数据。Mongodb中对于各种类型都有定义,可以用对应的数字,也可以直接用类型,如上述的1可以换成 ’Double’,依然可以。
14、 关于mongodb的聚合:用几个菜鸟上的截图做笔记:
增加一个mongodb导入数据的语句:mongoimport -d 数据库名 -c 集合名 路径一直到文件名。
尝试这个语句时,windows + cmd + mongo + 语句 没成功,但是 windows + cmd + 语句 成功了。为啥我不知道!
增加一个mongodb导出数据的语句:mongoexport -d 数据库名 -c 集合名 -o /路径/文件名.json。
用这个语句时,我用WinSCP+Putty连接到远程服务器导出此文件,在WinSCP上下载并删除就到自己本地了。
MongoDB 导出整个数据库:mongodump -h IP地址 --port 端口 -d 数据库名 -o 存储路径
如果有用户名和密码:mongodump -h IP地址 --port 端口 -u 用户名 -p 密码 -d 数据库名 -o 存储路径
MongoDB 导入整个数据库:mongorestore -h IP地址:端口 -d 数据库名 存储路径(一直到文件夹名)