小言_互联网的博客

MongoDB数据库

341人阅读  评论(0)

MongoDB

1、NoSQL数据库:非关系数据库。数据的组织形式不是二维表格。Not Only SQL,表示不能使用SQL语句操作数据。适合存储超大规模、数据长度不确定的数据。数据没有规定的格式,不需要进行任何的设置就可以自有的横向扩展。

2、MongoDB:使用C++编写的,用于分布式系统的数据存储。存储数据的格式是 key:value。是众多NoSQL数据库中的一款。

        数据库:database

        数据表(table) <——>集合(collection)

        行(row) <——> 文档(document)

3、MongoDB的数据类型:

     ObjectId:类似唯一主键,长度为12个字节,通常用于生成文档的_id值    

注:在MongoDB中,每个文档都有一个id属性,若用户在创建文档时没有给出 id,MongoDB会用ObjectId来为 _id生成一个值,id的值是唯一的,用来唯一标识一个文档(一条记录)

4、MongoDB的基本操作


  
  1. //数据库的切换
  2. use my_test
  3. //创建集合:db.集合名.insert({_id:'1001'}) ——在向集合中插入文档时就等于创建了集合
  4. db.admin.insert({
  5. _id:'1005',
  6. userName:'白骨精',
  7. password:'123456',
  8. address:'西游记'
  9. })
  10. db.student.insert({
  11. _id:'1002'
  12. })
  13. //查询集合:db.集合名.find({}) ——若find不带参数表示查询所有文档
  14. db.admin.find({});
  15. //统计集合中文档的数量:db.集合名.find().count()
  16. db.admin.find().count();
  17. //更新集合中的文档:db.集合名.update(条件,新的值)
  18. db.amin.update({_id:'1004',},{$set:{password:'aaaaa'}})
  19. //删除属性(key):db.集合名.update({集合},{$unset:{key:value}})
  20. db.admin.update({_id:'1003'},{$unset:{address:'西游记'}})
  21. //增加属性 db.集合名.update(条件,新的值)
  22. db.admin.update({_id:'1003'}.{$set:{hobby:['打仗','蹦迪']}})
  23. //删除文档 db.集合名.remove({条件})
  24. db.admin.remove({_id:'1005'})
  25. db.student.find();
  26. //删除集合:db.集合名.drop()
  27. db.student.drop();

5、MongoDB的查询


  
  1. //创建一个数组,保存若干对象
  2. var arr = []
  3. for(let i = 1;i<=2000;i++){
  4. arr.push({
  5. _id:'100'+i,
  6. title:'A0'+i,
  7. num:i
  8. })
  9. }
  10. //将数组arr中的元素插入到集合numbers中
  11. db.numbers.insert(arr);
  12. db.numbers.find();
  13. //查询numbers集合中num值等于500的文档(记录)
  14. db.numbers.find({num:500})
  15. //查询numbers集合中num值大于500的文档(记录)
  16. db.numbers.find({num:{$gt:500}})
  17. //查询numbers集合中num值小于500的文档(记录)
  18. db.numbers.find({num:{$lt:500}})
  19. //查询numbers集合中num值大于40小于50的文档(记录)
  20. db.numbers.find({num:{$gt:40,$lt:50}})
  21. //用limit设置显示数据的上限
  22. db.numbers.find().limit(20); //表示最多显示20条记录
  23. //分页显示:
  24. db.numbers.find().skip(0).limit(10)//从索引为0的记录开始连续显示10条记录
  25. db.numbers.find().skip(10).limit(10)
  26. db.numbers.find().skip(20).limit(10)
  27. db.numbers.find().skip(30).limit(10)


转载:https://blog.csdn.net/m0_73634593/article/details/128209351
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场