MongoDB学习

参考书籍:《MongDB实战 架构、开发与管理》

参考链接:MongoDB教程

 

概念

MongoDB是非关系数据库,以一个键对应一个文档的存储形式存储数据,其中文档以二进制的JSON形式表示。

与关系是数据库相比,它没有主键、外键等概念,它的主键可以理解为它的标识符(_id)。

数据模型

  • JSON/BSON
  • 标识符(_id)
  • 固定集合:集合大小固定,满之后先进先出

下载安装(win10)

地址https://www.mongodb.com/download-center#community 

下载64位msi安装文件,点击msi文件运行安装程序,选择Custom安装类型,然后选择目录,然后一路点到底。

MongoDB版本:4.0.3

Mongo shell

进入mongoDB安装的bin目录下,执行mongo命令,进入mongodb shell

创建管理员

步骤1:切换到管理数据库;步骤2:创建一个管理员用户。

导入数据(mongoimport.exe)

新建一个后缀名为.cvs的文件,内容如下图:

使用mongoimport.exe导入MyTest.csv中的数据到某连接下的某个数据库。

Mongo Shell常用命令

  • mongo       --启动shell,在mongodb安装目录的bin下
  • show dbs   --展示数据库
  • use mydb   --新建/切换数据库
  • db              --当前数据库
  • show collections --展示集合
  • 注意:MongoDB只有在将数据插入到数据库中时才会创建该数据库

基础和语法

  • $and 和 $or
  • $lt、$lte、$gt、$gte、$ne(小于、小于等于、大于、大于等于、不等于
  • find({},{字段1:1,字段2,0}) ,隐藏字段,1显示/0隐藏
  • find().pretty(),按Json格式输出
  • find().limit(3),限制记录数
  • find().sort({KEY:1}),排序,1升序/-1降序
  • ensureIndex({KEY1:1,KEY2:-1}),建立索引,1升序/-1降序
  • aggregate([{$group:{_id:"$KEY1",NAME1:{$KEY2:VAL}}}]),聚合

 

高级部分

关联关系

数据库引用

DBRefs中有三个字段 -

  • $ref - 此字段指定引用文档的集合
  • $id - 此字段指定引用文档的_id字段
  • $db - 这是一个可选字段,并包含引用文档所在的数据库的名称

假设一个具有DBRef字段address的示例用户文档,如代码片段所示 -

{
   "_id":ObjectId("348362491fjaskdlf2314"),
   "address": {
   "$ref": "address_home",
   "$id": ObjectId("sfaafdf4137832149fssa"),
   "$db": "yiibai"},
   "contact": "13800138000",
   "dob": "1991-12-12",
   "name": "Maxsu"
}

覆盖查询(查询索引字段)

根据官方MongoDB文档,覆盖查询是一个查询,其中 -

  • 查询中的所有字段都是索引的一部分。
  • 查询中返回的所有字段都在同一个索引中。

分析查询

 .explain().hint()

ObjectId

文档的创建时间 getTimestamp()函数

ObjectId转换为String:objectTest.str

 

MongoDB可视化工具

名字:adminMongo

步骤:将zip文件下载下来解压到安装目录,在安装目录下打开cmd并执行npm.start命令,之后打开浏览器访问localhost:1234

图片中:DB数据库、collection集合、MongoDB默认连接为test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值