使用mongodb从连接开始。

  • 连接到mongodb

连接到mongodb, 如没有密码使用 mongo 就可以直接进入,有密码则添加参数 --username --password

mongo --username root --password root --authenticationDatabase admin --host 127.0.0.1 --port 28015
  • 切换到指定数据库
use tuttutorial
  • 插入文档

插入文件有两种方式insert 和 save

db.users.insert({username: "smith"})
db.users.save({username: "jones"})

db.users.insert("_id":{ObjectId("50691737d386d8fadbd6b01d")},{username: "test"})

两者都会返回一个ObjectId,如果使用insert时,且ObjectId存在,则会抛出 org.springframework.dao.DuplicateKeyException 异常,而不会进行更新操作,如果是使用save,且已存在相同的ObjectId,则会对数据进行更新。

  • 查询

查询全部数据

db.users.find()

查询匹配文档数据

db.user.find({username: "smith"})
  • 更新

更新添加新列

db.users.update({username: "smith"}, {$set: {country: "Canada"}})

更新删除列

db.users.update({username: "smith"}, {$unset: (country: 1}})

删除数据

db.users.remove({"favorites.cities": "Cheyenne"})

删除数据下的所有索引

db.users.drop()

  • 进行条件间的查询
for(i=0; i< 2000; i++) {
    db.numbers.save(num: i)   // numbers 是集合名称
}

条件查询

db.numbers.find({num: {"$gt": 199995}})
db.numbers.find({num: {"$gt": 20, "$lt": 25}})
  • 索引与explain

创建索引

db.numbers.ensureIndex({num: 1})

查询索引

db.numbers.getIndexes()

查询使用索引情况

db.numbers.find({num: {"$gt": 19995}}).explain()

基本管理

查看所有数据库的列表

show dbs

查看当前数据库所有的集合

show collections

查看信息

db.stats()
db.numbers.stats() // 某个集合的信息

完!