c语言写的非关系型数据库
最像关系型数据库的非关系型数据库
进入
直接在ubantu输入mongo
库级操作
- 查看所有的库:
show dbs
- 查看当前库:
db
- 创建和使用:
use aa
创建既是使用,这只是在概念上创建了一个库,不存数据是无法通过show dbs
查看到,只有存储了数据后才是真正意义上创建成功 - 删除库:
db.dropDatabase()
,D
必须大写,只能在创建的库中使用,直接删除当前库的所有数据,让他从一个实际存在的库,变成一个概念库
表级操作
- 显示当前库的所有集合:
show collections
- 创建集合:
db.creatCollection("a")
,C
必须大写 - 删除集合:
db.a.drop()
文档操作
- 插入文档:
db.a.insert({"id":1,"name":"aa"})
向a表中插入文档数据 - 插入多条文档:
db.a.insert([{"id:2,"name":"bb"}{"id":3,"name":"cc"}])
将所有数据用中括号括起来 - 查看所有文档:
db.a.find()
- 格式化输出:
db.a.find().pretty()
输出更清晰 - 条件查询:
db.a.find({"id":{$gte:2}})
输出所有id大于2的数据
$gt | $gte | $lt | $lte | $ne |
---|---|---|---|---|
大于 | 大于等于 | 小于 | 小于等于 | 不等于 |
- 噩梦条件查询:
db.a.find({$and[{},{}]})
和db.a.find({$or[{},{}]})
,条件查询固定格式db.a.find({$and[{$or:[{},{}]},{}]})
噩梦形式 - 修改文档:
db.a.database({"name":"aa"},{$set:{"name":"dd"}})
将前面的字典替换为后面的字典,$set
若不加,则是用后面的字典将前面字典所在整条文档全部覆盖,其他数据也都被这一条数据覆盖。多个满足条件的文档,只修改第一条 - 修改所以满足条件的文档:
db.a.database({"name":"aa"},{$set:{"name":"dd"}},{multi:true})
直接在最后加上{multi:true}
就能修改全部满足条件的文档 - 删除所有文档:
db.a.deleteMany({})
- 删除所有满足条件的文档:
db.a.remove({"name":"bb"})
- 删除一条满足条件的文档:
db.a.remove({"name":"bb"},{justone:true})
删除第一条