Open bingoogolapple opened 8 years ago
连接数据库
mongo
mongo 127.0.0.1:27017
查看数据库
show dbs
切换到指定数据库(切换数据库并不会创建数据库,只有在某个集合中插入数据才算创建了数据库和集合)
use 数据库名
创建集合users,并插入一条文档
> db.users.insert({"username":"user1"});
WriteResult({ "nInserted" : 1 })
> db.users.insert({"username":"user2","age":15});
WriteResult({ "nInserted" : 1 })
查看数据库的集合
> show collections
users
查看集合中所有的文档
> db.users.find();
{ "_id" : ObjectId("56b20f53cc524b54f9b81521"), "username" : "user1" }
{ "_id" : ObjectId("56b211a4cc524b54f9b81523"), "username" : "user2", "age" : 15 }
查看集合中文档的数量
> db.users.find().count()
2
根据条件查询
> db.users.find({"_id":ObjectId("56b20f53cc524b54f9b81521")})
{ "_id" : ObjectId("56b20f53cc524b54f9b81521"), "username" : "user1" }
更新文档
// 第一个参数是条件, 第二个是更新的内容,第三个是更新的配置
// 更新的是集合中第一个满足条件的那一行
> db.users.update({"username":"user2"},{$set:{"age":24}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
// 更新多行满足条件的
> db.users.update({"username":"user2"},{$set:{"age":30}},{multi:true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
// 使用save方法修改时必须指定_id
> db.users.save({"_id":ObjectId("56b211cbcc524b54f9b81524"),"age":45})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在save的时候必须把所有的值都指定,否则没有指定的值会被丢掉
{ "_id" : ObjectId("56b211cbcc524b54f9b81524"), "username" : "user2", "age" : 40 }
变成了
{ "_id" : ObjectId("56b211cbcc524b54f9b81524"), "age" : 45 }
删除文档
// 删除多行
> db.users.remove({"username":"user1"});
WriteResult({ "nRemoved" : 2 })
// 删除集合中第一个满足条件的那一行
> db.users.remove({"username":"user1"}, true);
WriteResult({ "nRemoved" : 1 })
// 删除集合中所有文档
> db.users.remove({})
WriteResult({ "nRemoved" : 6 })
// 删除集合中的文档和索引
> db.users.drop()
true
// 删除当前数据库
> db.dropDatabase()
{ "dropped" : "users", "ok" : 1 }
// 导入数据
mongoimport --db test --collection restaurants --drop --file primer-dataset.json
-db test 想往哪个数据库里面导入
--collection restaurants 想往哪个集合中导入
--drop 把集合清空
--file primer-dataset.json 哪个文件
MAC下安装MongoDB