在centos7上作用mongodb

时间:2023-11-22 17:10:56

安装服务端

yum install mongodb-server

安装客户端

yum install mongodb

版本
 mongo --version

是否安装了mongodb
which mongod
 history | grep mongo

mkdir -p /data/db/

启动

mongod --dbpath=/data/db --port=27017

关闭,还可用kill

mongod --shutdown

增加日志

mongod --dbpath=/data/db --port=27017 --fork --logpath=/var/log/mongod.log

查看日志

tail -f /var/log/mongod.log

连接客户端

mongo

显示数据库

>show dbs;

创建数据库

>use part9;

插入文档

>db.users.insert({"username": "Sid"});

显示集合

> show collections
system.indexes
users

查询集合中的文档
> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
> db.users.insert({"username": "Zoe", "group": "reporter"});
WriteResult({ "nInserted" : 1 })

> db.users.insert({"username": "Zoe", "group": "reporter"});
WriteResult({ "nInserted" : 1 })
> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "reporter" }

查询文档数量
> db.users.find().count();
2
> db.users.insert({"username": "Zoe", "group": "programmer"});
WriteResult({ "nInserted" : 1 })
> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "reporter" }
{ "_id" : ObjectId("56546d68ac40378400147959"), "username" : "Zoe", "group" : "programmer" }
> db.users.find().count();
3
> db.users.find({"_id" : ObjectId("56546ce3ac40378400147958")});
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "reporter" }

更新文档,但是只修改了一行文档
> db.users.update({"username": "Zoe"}, {$set:{"group": "writer"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "writer" }
{ "_id" : ObjectId("56546d68ac40378400147959"), "username" : "Zoe", "group" : "programmer" }

更新满足条件的所有文档,multi: true
> db.users.update({"username": "Zoe"}, {$set:{"group": "writer"}}, {multi: true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 1 })
> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "writer" }
{ "_id" : ObjectId("56546d68ac40378400147959"), "username" : "Zoe", "group" : "writer" }

使用save()进行修改
>db.users.save({"_id" : ObjectId("56546d68ac40378400147959"), "group":"reporter"});

> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "writer" }
{ "_id" : ObjectId("56546d68ac40378400147959"), "group" : "reporter" }

update()有三个参数,save()只有一个参数,两者有区别,注意

删除集合中的文档remove()

先构造一个集合如下

> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "writer" }
{ "_id" : ObjectId("56546d68ac40378400147959"), "group" : "reporter" }
{ "_id" : ObjectId("56547d15ac4037840014795a"), "group" : "reporter" }
{ "_id" : ObjectId("56547d18ac4037840014795b"), "group" : "reporter" }
{ "_id" : ObjectId("56547d1bac4037840014795c"), "group" : "reporter" }
{ "_id" : ObjectId("56547d1cac4037840014795d"), "group" : "reporter" }

删除了5条文档

> db.users.remove({"group": "reporter"});
WriteResult({ "nRemoved" : 5 })
> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "writer" }

重新构造一个集合

> db.users.find();
{ "_id" : ObjectId("565468b4ac40378400147957"), "username" : "Sid" }
{ "_id" : ObjectId("56546ce3ac40378400147958"), "username" : "Zoe", "group" : "writer" }
{ "_id" : ObjectId("56547e2bac4037840014795e"), "group" : "reporter" }
{ "_id" : ObjectId("56547e2dac4037840014795f"), "group" : "reporter" }
{ "_id" : ObjectId("56547e2fac40378400147960"), "group" : "reporter" }
{ "_id" : ObjectId("56547e30ac40378400147961"), "group" : "reporter" }

增加remove()中的第二个参数,只删除集合中满足条件的第一条文档

> db.users.remove({"group":"reporter"}, true);
WriteResult({ "nRemoved" : 1 })

删除所有的文档

> db.users.remove({});
WriteResult({ "nRemoved" : 5 })
> db.users.find();

删除集合中的所有文档和索引

> db.users.drop();
true