MongoDB数据库

一、NoSQL数据库

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

二、什么是MongoDB

       MongoDB是用C++编写的,用于分布式系统的数据存储。存储数据的格式是 key : value

​        数据库:database

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

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

三、MongoDB的数据类型

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

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

四、MongoDB的基本操作

// 1.数据库的切换:use  数据库名
use my_test
// 2.创建集合:db.集合名.insert({_id:'1001'})  --- 在向集合中插入文档时就已经创建了集合
db.admin.insert({
   _id:'1005',
     userName: '鲁肃',
     password: '123456',
     address: '镇江'
})
db.student.insert({
   _id:'s101',
     sname: '张三',
     ssex: '男',
     sage: 21
})
// 3.查询集合:db.集合名.find({})  --- 若find不带参数表示查询所有文档
db.admin.find()
     按条件查询:
db.admin.find({_id:'1001'})
// 4. 统计集合中文档的数量 :db.集合名.find().count()
db.admin.find().count()
// 5.更新集合中的文档:db.集合名.update({条件},{$set:{key:value}})
db.admin.update({_id:'1004'},{$set:{password:'aaaa'}})
// 6. 删除属性(key):db.集合名.update({条件},{$unset:{key:value}}
db.admin.update({_id:'1003'},{$unset:{address:'南京'}})
// 7. 增加属性:db.集合名.update({条件},{$set:{key:value}}
db.admin.update({_id:'1003'},{$set:{hobby:['下棋','骑马','KTV']}})
// 8. 删除文档:db.集合名.remove({条件})
db.admin.remove({_id:'1005'})
db.student.find()
//9. 删除集合:db.集合名.drop()
db.student.drop()

五、MongoDB的查询

//创建一个数组:保存若干对象
var arr = []
for(let i=1;i<=2000;i++)
{
    arr.push({
           _id:'100'+i,
             title: 'A0'+i,
             num: i
        })
}
//将数组arr中的元素插入到集合numbers中
db.numbers.insert(arr)
db.numbers.find()
// 10. 查询numbers集合中num值等于500的文档(记录)
db.numbers.find({num:500})
// 11. 查询numbers集合中num值大于500的文档
db.numbers.find({num:{$gt:500}})
// 12. 查询numbers集合中num值小于500的文档
db.numbers.find({num:{$lt:500}})
// 13. 查询numbers集合中num值小于40,小于50的文档
db.numbers.find({num:{$gt:40,$lt:50}})
// 14.查看numbers集合中的前10条数据
db.numbers.find({num:{$lte:10}});
// 15. 用limit设置显示数据的上限
db.numbers.find().limit(15)  //表示最多显示15条记录
// 16. 分页显示:skip(index)---进行定位
db.numbers.find().skip(0).limit(10)  //从索引为0的记录开始连续显示10条记录
db.numbers.find().skip(10).limit(10)
db.numbers.find().skip(20).limit(10)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值