# 常用操作 1.查看所有库 ``` show databases show dbs ``` 2.切换数据库 ``` use testdb ``` 3.查看集合 ``` show collections ``` 4.创建库 mongo中创建数据库采用的也是use命令,如果use后面跟的数据库名不存在,那么mongo将会新建该数据库。不过,实际上只执行use命令后,mongo是不会新建该数据库的,只有创建了集合才会显示 ``` use testdb db.createCollection("testcol") ##在testdb库中创建testcol集合 ``` 5.删除库 ``` db.dropDatabase() ``` 6.新建集合collection ``` db.createCollection("testcol") db.testcol.insert({"name":"aming"}) ##插入一个对象 db.testcol.find() ##查看对象 ``` 7.重命名集合 ``` db.testcol.renameCollection("testcol2") ``` 8.删除集合 ``` db.testcol2.drop() ``` 9.集合中插入数据 ``` db.user.insert({'name':'Gal Gadot','gender':'female','age':28,'salary':11000}) ##由于之前没有user集合,所以会自动创建user集合,并插入数据 ``` 10.查看集合中数据 ``` db.user.find() [ { _id: ObjectId("633a5bce5056bfbd71723283"), name: 'Gal Gadot', gender: 'female', age: 28, salary: 11000 } ] ``` 11.根据条件查看数据 ``` db.user.find({"age":26}) ##age为26 [ { _id: ObjectId("633a5c0b5056bfbd71723284"), name: 'Mikie Hara', gender: 'female', age: 26, salary: 7000 } ] db.user.find({salary:{$gt:10000}}) ### salary大于10000 [ { _id: ObjectId("633a5bce5056bfbd71723283"), name: 'Gal Gadot', gender: 'female', age: 28, salary: 11000 }, { _id: ObjectId("633a5cfa5056bfbd71723285"), name: 'Wentworth Earl Miller', gender: 'male', age: 41, salary: 33000 } ] db.user.find({salary:{$lt:10000}}) ### salary小于10000 [ { _id: ObjectId("633a5c0b5056bfbd71723284"), name: 'Mikie Hara', gender: 'female', age: 26, salary: 7000 } ] db.user.find({age:{$gt:30},salary:{$lt:50000}}) ##age大于30并且salary小于50000 [ { _id: ObjectId("633a5cfa5056bfbd71723285"), name: 'Wentworth Earl Miller', gender: 'male', age: 41, salary: 33000 } ] db.user.find({$or:[{salary:{$gt:10000}},{age:{$lt:25}}]}) ##两个条件为或 [ { _id: ObjectId("633a5bce5056bfbd71723283"), name: 'Gal Gadot', gender: 'female', age: 28, salary: 11000 }, { _id: ObjectId("633a5cfa5056bfbd71723285"), name: 'Wentworth Earl Miller', gender: 'male', age: 41, salary: 33000 } ] db.user.find({},{name:1,salary:1}) ##只显示指定字段 [ { _id: ObjectId("633a5bce5056bfbd71723283"), name: 'Gal Gadot', salary: 11000 }, { _id: ObjectId("633a5c0b5056bfbd71723284"), name: 'Mikie Hara', salary: 7000 }, { _id: ObjectId("633a5cfa5056bfbd71723285"), name: 'Wentworth Earl Miller', salary: 33000 } ] db.user.find().limit(2) ##显示指定行 [ { _id: ObjectId("633a5bce5056bfbd71723283"), name: 'Gal Gadot', gender: 'female', age: 28, salary: 11000 }, { _id: ObjectId("633a5c0b5056bfbd71723284"), name: 'Mikie Hara', gender: 'female', age: 26, salary: 7000 } ] db.user.find().count() ##显示行数 3 ``` 12.删除操作 ``` db.test.remove({"name":'abc'}) ##根据条件删除 db.user.remove({salary:{$lt:10000}}) ##将salary小于10000的记录删除 ``` 13.更新操作 ``` db.user.updateMany({name:'Gal Gadot'},{$set:{age:29}}) ##两对{},前面的为条件,后面为执行操作 db.user.update({name:'Gal Gadot'},{$set:{age:29}},{upsert:true}) ## 更新操作,如果条件不满足,则插入数据 ```