mongodb中非常好用的Aggregate入门教程
短信预约 -IT技能 免费直播动态提醒
前言
aggregate 翻译过来是聚合的意思, 但是在实际的使用的它的体验特别像linux中的管道, 每个管道处理完之后再把结果交个下一个管道, 你的数据就像水流, 最后通过各个管道你能够得到你想要的数据
我们一般用Aggregate做什么
aggregate查询文档
- 聚合 平均数 等数据处理 group sum
- 地理位置信息 $geoNear
- 基本上mongodb的所有查询操作我们都可以用 aggregate实现, 用好这个基本上是万金油了
在这里我主要想记录一下mongodb在地理位置信息查询中使用到的技术,不仅可以查询到 距离 还可以按照距离排序
$geoNear 地理位置信息查询
首先我们的坐标数据在库里面怎么存, 类型为 Array , 记得加 2d 索引, 当然还有3d 索引, 目前还没有用到
const storeschema = new mongoose.Schema({
name: { type: String, required: true },
point: { type: Array, required: true }, // [lon, lat]
});
storeschema.index({ point: '2d' });
return mongoose.model('store', storechema);
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
mongodb中非常好用的Aggregate入门教程
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
2024-04-02
MySQL实战文章(非常全的基础入门类教程)
半个月时间把MySQL重新巩固了一遍,梳理了一篇几万字超硬核文章,想学习mysql的朋友可以看看
2023-05-19
NodeJS中的MongoDB快速入门详细教程
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
2022-06-04
2023-09-01
2023-09-22
linux中gdb的入门使用教程
前言
gdb是linux下非常好用的一个调试工具,虽然它是命令行模式的调试工具,但是它的功能强大到你无法想象,这里简单介绍下gdb的使用方法,需要的朋友们下面来一起看看详细的介绍吧。
断点在代码的指定位置中断,使程序在此中断。break <
2022-06-04
Android中的常用尺寸单位(dp、sp)快速入门教程
常见尺寸单位Android开发中的常用尺寸单位有如下几种: dp (dip) px pt inch sp 算不知道确切含义,相信对于以上这几种尺寸单位大家也都比较脸熟,这里先让我们重新认识一下它们: dp (dip): 即设备
2023-05-31
2023-09-01
iOS中多线程的入门使用教程(Swift)
目录一、iOS的三种多线程技术 二、基本使用NSThread的基本使用NSOperation的基本使用GCD的基本使用总结一、iOS的三种多线程技术
1、NSThread
–优点:NSThread 比其他两个轻量级,使用简单
–缺点:需要
2022-05-27
2024-04-02
2024-04-02
MySQL入门教程7 —— 常用数据库查询的示例
下面是一些学习如何用MySQL解决一些常见问题的例子。在一些例子中,使用数据库表“shop”来储存某个商人(经销商)的每件物品(物品号)的价格。假定每个商人对每项物品有一个固定价格,那么(物品,商人)即为该记录的主关键字。启动命令行工具my
2022-05-12
2024-04-02
iOS中谓词(NSPredicate)的基本入门使用教程
前言
首先,我们需要知道何谓谓词,让我们看看官方的解释:The NSPredicate class is used to define logical conditions used to constrain a search either
2022-06-03
Android应用开发中使用Fragment的入门学习教程
Fragment是Android honeycomb 3.0开始新增的概念,Fragment名为碎片不过却和Activity十分相似,下面介绍下Android Fragment的作用和用法。Fragment用来描述一些行为或一部分用户界
2022-06-06
Android应用开发中Action bar编写的入门教程
从Android 3.0开始除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更
2022-06-04
Android App开发中ViewPager组件的入门使用教程
首先让大家有个全局的认识,直接上个项目,看看仅仅通过这几行代码,竟然就能完成如此强悍的功能。下篇再仔细讲讲为什么要这么写。
效果图:
实现了三个view间的相互滑动
第一个VIEW向第二个VIEW滑动:第二个VIEW向第三个VIEW滑动:一
2022-06-06
2023-10-23
2023-06-04