mongodb的基本使用
使用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() // 某个集合的信息
完!