mongodb数据库——基本操作

在linux上远程链接mongodb客户端。进入mongodb的bin目录下面,输入./mongo即可进入。

参考:https://docs.mongodb.com/manual/

 

1.创建数据库

use [databaseName]

2.查看所有数据库

show dbs 或者show databases

3.选择指定的数据库test,并进入到数据库

use test

4.给指定的数据库集合添加一条记录(一个文档)

db.<collection>.insert({...});

db.<collection>.insertOne({...}); 3.2版本以上

例如:db.test.insert({"no":"1000001","name":"cluo"});

    db.test.insertOne({"no":"100004","name":"lml"});

5.给指定的数据库集合添加多条记录(多个文档)

db.<collection>.insert([{...},{...},{...}]);

db.<collection>.insertMany([{...},{...}]); 3.2版本以上

例如:db.test.insert([{"no":"100002","name":"zhangsan"},{"no":"100003","name":"lisi"}]);

db.test.insertMany([{"no":"100005","name":"zxl"},{"no":"100006","name":"wzc"}]);

6.生成文档的唯一标识

ObjectId()

7.查看数据库中的所有文档

show collections;

8.查询定制的文档数据

查询所有:db.<collection>.find();

查询第一条数据:db.[documentName].findOne();

9.查询带条件的数据

db.<collection>.find({"id":"100001"}); 查询id为100001的数据

db.<collection>.find({"age":"20"})[0]; 查询age为20的第一条数据

db.<collection>.find({}).count(); 统计记录的条数

10.更新文档的数据,修饰符$set用来修改文档中的指定属性

db.<collection>.update({匹配条件},{$set:{更新的内容}});

或者

db.<collection>.updateOne({匹配条件},{$set:{更新的内容}});

例如: db.test.update({"no":"100005"},{$set:{"name":"张三"}}); 将编号为100005的姓名改为张三。

update默认只会修改符合条件的第一条记录。如果要修改多条记录:

语法:db.<collection>.updateMany({匹配条件},{$set:{更新的内容}});

或者

multi:是否修改多个

db.test.update({"no":"100002"},{$set:{"name":"lisi"}},{multi:true});

db.<collection>.updateMany({"no":"100001"},{$set:{"name":"李四"}});

11.修饰符$unset可以用来删除文档中的指定属性

db.test.update({"no":"100005"},{$unset:{name:1}}); //删除name属性

12.删除文档

db.<collection>.remove({条件});  //删除符合条件的所有文档,如果remove()第二个参数传递一个true,则只会删除一个。如果传递一个空对象作为参数,则会删除集合中的所有文档。

例:db.test.remove({"id":"100001"});

db.<collection>.deleteOne({条件}); //只删除一条文档记录

db.<collection>.deleteMany(); //删除多条文档记录

13.删除集合

db.<collection>.drop(); //删除集合

14.删除数据库

db.dropDatabase(); //删除数据库

15.替换文档内容

db.<collection>.replaceOne({原数据},{新数据});

16.MongoDB支持直接通过内嵌文档的属性进行查询,如果要查询内嵌文档则可以通过 . 的形式来匹配

如果要通过内嵌文档来对文档进行查询,此时属性名必须使用引号。

db.test.insert({"id":"1000001","no":"Xz0001","hobby":{"cities":["beijin","shanghai","wuhan"],"movies":["hero","today","love"]}});

db.test.find({"hobby.movies":"hero"});

17.向数组中添加元素,使用$push或$addToSet

区别:$addToSet  如果数组中已经存在了该元素,则不会添加

db.test.update({"id":"1000001"},{$push:{"hobby.movies":"tomorrow"}});

18.批量添加数据(性能)

var  arr=[];

for(var i=0;i<20000;i++){

   arr.push({num:i});

}

db.test.insert(arr);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值