nest-td的使用总结

由于前面学习的nest框架的一些知识点在目前的需求中使用的比较少然后也还没有事件对自己起的项目做一个总结这里后端我们就两个比较实用的方法把。
1.指定select字段
由于我们查询mongo的时候,很多数据量是很多的,而select字段也是经常使用的,而我们的查询都是会使用query-helper.service封装的FilterAnd()方法去指定查询的条件,也可以使用FilterField()的方式去指定查询出来的字段,我们也可以查看一下这个方法
在这里插入图片描述
这里就是将filterField的数据放入select中,这样去查询mongo的时候去指定到所需要的字段。而这里我们也能看到GetParam是去查询前端穿过来的的数据,那这里只要有Fields这个字段也可以同样去限制它的指定字段,所以我们就可以在前端请求中
在这里插入图片描述
在请求参数中带上Fields
2.创建索引以及命中索引
首先讲到这个的话,我们就得了解一下,为什么要使用索引,这里我们可以简单来理解就是索引就好比一本书的目录,有了索引就可以让我们的数据库可以在根据索引的‘指示’下更快的找到我们所需要额数据,减少数据库查询的压力。
这里我就举例一下我们mongo数据库比较常用的复合索引

db.LoginInfo.createIndex( { "CreateUserId" : 1, "LoginId" : 1 }, {background: true} )

而这句话的含义就是给LoginInfo这个表的CreateUserIdLoginId两个字段建立升序的索引,而background的含义是后台建立,因为在建立索引的时候会阻断mongo数据库的一个操作,所以我们将后台建立打开就可以避免这种情况发生。
那么如何查看我们所建立的索引是否成功呢

db.LoginInfo.getIndexes()

可以使用getIndexes()来查看我们所建立的索引
在这里插入图片描述
建立成功以后就是如何命中我们所建立的索引呢,指定一提的是复合索引只有在查询条件中带上前n个字段,拿上面的例子来说,使用LoginInfo是可以命中索引的,但是使用CreateUserId是无法命中的,我们可以使用.explain()来查看
在这里插入图片描述
在这里插入图片描述
最后,之前装新的电脑的时候就把一些必须的安装包给保存了一下,这里是链接
链接:https://pan.baidu.com/s/1ngck7PSCSUOYHPofUD2gxA
提取码:ezcn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值