常用操作
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}) ## 更新操作,如果条件不满足,则插入数据