安装服务端
yum install mongodb-server
安装客户端
yum install mongodb
版本
mongo --version是否安装了mongodb
which mongod history | grep mongomkdir -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.indexesusers查询集合中的文档
> 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