MongoDB的基本操作
MongoDB
MongoDB将数据存储为文档
数据库的表称为集合(collection)
字段的值可以包含其他的文档及数组
MongoDB和sql的概念转换
SQL概念 MongoDB概念 说明
database database 数据库
table collection 表/集合
primary key primary key 主键/自动生成_id
row document 行/文档
(一)MongoDB数据库连接:
- 打开终端
cd …\bin
输入 mongod.exe –dbpath 数据库安装的路径(db文件夹下)
回车
提示服务启动成功 - 再打开一个终端
cd …\bin
输入mongo.exe 回车,进入数据库
(二)对于库的操作
查看当前所有的库
show dbs-
选择数据库
注意:
- 如果使用的库不存在,那么使用use就会创建一个新库,但是
这个库你是看不到的,可以使用db.getName()来查看
- 如果使用的库不存在,那么使用use就会创建一个新库,但是
- 查看当前所在库
db.getName()
(三)对于表的操作(集合)
创建集合
db.createCollection(‘集合名’)查看当前库下所有的集合
show collections删除集合
db.集合名.drop()
(四)对于数据的操作
INSERT/SAVE 文档的添加
1.使用insert添加
db.集合名.insert(文档)
插入多条 : db.集合名.insert([文档1, 文档2, ...])
3.2版本以后建议使用的添加方法:
db.collection.insertOne({}) => db.user.insertOne({name : 'Amy'})
db.collection.insertMany([{}])
使用save添加
db.collection.save(文档)
db.user.save({“_id” : ObjectId(“59f183ae4e1bfd452ec082d1”), name: ‘lisi’}) 对原有数据的覆盖-
update修改
更新操作符:
$inc => 累加修改 => db.user.update({name : ‘Tom’}, {$inc : {age : 5}})
$set => 直接修改 => db.user.update({name : ‘lisi’}, {$set : {age : 25}})db.collection.update(条件, 数据, {multi : true}) # 修改所有
db.user.update({name : ‘lisi’}, {$set : {age : 25}}) # 只修改第一个匹配到的
db.user.update({name : ‘lisi’}, {$set : {age : 25}}, {multi : true}) # 修改所有
db.user.update({age : 25}, {$set : {name : ‘test’}}, {multi : true}) -
remove文档的删除
db.collection.remove(条件) => db.user.remove({name:’王五’}) # 匹配几条删几条
db.user.remove({name:’王五’}, 1) # 删除一条3.2版本建议使用:
db.collection.deleteOne({}) 删除一条
db.collection.deleteMany({}) 删除多条
FIND查询文档
find 查询所有
db.collection.find() 查询所有findOne() 查询一条
db.user.findOne()find().count() 统计数据的条数
db.collection.find().count()- 查询条件的操作符
- $gt 大于 db.user.find({age : {$gt : 10}})
- $gte 大于等于 db.user.find({age : {$gte : 40}})
- $lt 小于 db.user.find({age : {$lt : 40}})
- $lte 小于等于 db.user.find({age : {$lte : 40}})
- 等于 {键 : 值} db.user.find({age : 2})
- 使用_id查询 {“_id” : ObjectId(“59f1829e4e1bfd452ec082d0”)}
- /数据/ 模糊查询 db.user.find({name : /王/})))
- /^数据/ 以…开头
- /数据$/ 以…结尾
- $in 在…之内 db.user.find({age : {$in : [2, 12]}})
- $nin 不在…之内 db.user.find({age : {$nin : [2,12]}})
- and的使用
db.collection.find({条件1, 条件2}) => db.user.find({name : ‘test’, age : 25}) - or的查询
db.collection.find({$or : 条件1, 条件2})
: db.user.find({$or : [{name : ‘test’}, {name : ‘test2’}]})
db.user.find({$or : [{name : ‘test’}, {name : ‘test2’}, {age : {$lt : 30}}]})
上一篇: 数据库基本概念