常用操作

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