mongo 地理位置数据的 Meteor 简单模式

2023-12-24

我想为我的流星应用程序创建一个管理表单;在从头开始构建 Ogno Admin 之前,我打算尝试一下 Ogno Admin,但我不确定它是否可以支持我需要的格式的数据。我当前的应用程序数据像这样进入 mongo:

Beaches.insert({
    "name": "Entry name",
    /* location stored like this so I can use mongo $near queries */
    "location": {
        "type": "Point",
        "coordinates": [-5.0990296,50.110757]
    },
    /* could be many images, minimum 1 */
    "images": [
        {
            "url": "image1.jpg",
            "caption": "Image caption"
        }
    ],
    "shortDesc": "A delightful description...",
    /* fixed list of attributes stored as objects */
    "attributes": {
        "attr 1": {
            "score": 2,
            "text": "attr1 text"
        },

我可以编写一个简单的模式来支持上面的不同数组/对象(尤其是位置坐标)吗?它们必须采用方括号格式 [lng, lat] - ogno admin 可以使用它,还是我必须编写自定义管理内容?对我来说,用其他东西构建管理站点并让它为 Meteor 输出 JSON 数据可能会更容易。

使用可能的架构代码进行更新

Beaches = new SimpleSchema({
  name: {
    type: String,
  },
  location: {
    type: [Object]
  },
    location.$.type: {
    /* how do I force '"type" : "Point" into every entry?
       use 'autovalue' with the .clean() function?*/
    },
      location.$.coordinates: {
      /* how do I ensure a [x,y] array in here? */
    },
  images: {
    type: [Object]
  },
    "images.$.url": {
        type: String
    },
    "images.$.caption": {
        type: String
    },
  attributes: {
    type: [Object]
  },
  /* note that my attributes above are all prefixed with a 'name'
     eg. "attr 1" : {}
     I'm not sure how to declare these either!
  */
  ...
});

嗯,我不知道您保存地理坐标过程的确切解决方案。但如果你想保存 lng 和 lat 你必须传递一个前缀。为什么?地理坐标有不同的验证范围。纬度只能在 -90 到 90 范围内使用,经度只能在 -180 到 180 范围内使用。如果您不保存前缀,您如何确定哪个坐标是哪个?有一天我做错的另一个提示是按经度、纬度顺序存储坐标。

我正在使用的架构如下所示:

GeocoordsSchema = new SimpleSchema({
  lng: {
    type : Number,
    decimal: true,
    min: -180,
    max: 180
  }, 
  lat: {
    type : Number,
    decimal: true,
    min: -90,
    max: 90
  }
});

现在您创建嵌套架构。只需使用 LocationSchema 扩展 GeocoordsSchema 并添加一个属性即可。

LocationSchema = new SimpleSchema({
  type : {
    type : String,
    autoValue: function() {
      return "Point";
    }
  },
  coordinate: {
    type: GeocoordsSchema 
  }
});

如果您想要一个 LocationSchema 数组,可以将 schema 括在 [] 括号中。

BeachesSchema = new SimpleSchema({
  loc: {
    type: [LocationSchema]
  }
});

我还没有测试过,但这就是我创建和嵌套不同模式的方式。这个解决方案需要 lat 和 lng 标识符。您为什么不想为数据添加前缀?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mongo 地理位置数据的 Meteor 简单模式 的相关文章

  • 在节点中使用mongoosejs更新多条记录

    我在使用 mongoosejs 和 Node js 更新多个记录时遇到问题 由于某种原因 即使有多个匹配 我也只更新一条记录 我还注意到回调在 update 之后不会触发 我没有收到任何错误消息 这里发生了什么 Page find stat
  • SQL Server:如何权限模式?

    受到我见过的各种与模式相关的问题的启发 所有权链 http msdn microsoft com en us library ms188676 aspx如果存储过程和表都在同一架构中 则允许我对存储过程授予 EXECUTE 权限 而无需对我
  • Mongodb聚合框架:$group是否使用索引?

    我正在尝试使用聚合框架 match and group阶段 做 group阶段使用索引数据 我正在使用最新的可用 mongodb 版本 2 5 4 group不使用索引数据 来自 mongoDBdocs http docs mongodb
  • Spring mongodb 指南针缺少创建的数据/集合

    我使用 spring 将数据保存到数据库 RepositoryRestResource collectionResourceRel operators path operators public interface OperatorsRep
  • MongoDB - 编辑器变量 - MongoDB shell - Windows 7

    EDITOR 变量功能真的可以在 Windows 7 上使用吗 我正在读一篇文章 说一旦我们设置了 EDITOR 变量在 mongorc js 中 我们只需在 shell 中输入 编辑变量名 and var name将被加载到编辑器中 在我
  • 在 MongoDB 中查找 7 天前的记录

    我有一个包含对象的集合 如下所示 1 id ObjectId 551c6605e4c6ac495c923aab sender id ObjectId 551c6605e4c6ac495c923aac rep sender id 38 sen
  • Mongodb upsert 嵌入文档

    我每天每米有一份文件 如果它不存在 如何在数据数组中添加另一个子文档并创建整个文档 key 20120418 123456789 data Meter 123456789 Dt ISODate 2011 12 29T16 00 00 0Z
  • Java,根据 WSDL 中的嵌入模式验证 XML

    我有一个 wsdl具有嵌入架构的文件 我想使用它来验证 XML 文件 字符串 wsdl文件 与验证的方式相同 xsd 该架构位于
  • Windows 7 机器上的 MongoDB:无法建立连接

    在 Windows 7 机器上使用 mongod exe 启动 Mongo 后 我尝试启动 mongo shell 但失败并出现以下错误 无法连接到 127 0 0 1 27017 原因 errno 10061 否 由于目标机器主动拒绝而无
  • 聚合和展开数组,但保留顶级键

    假设我的收藏中有以下文档Classes收藏家 id ObjectId 5df58d45244a850d54b922c8 mentors numOfMentors NumberInt 1 mentorList ObjectId 5c9ba63
  • MeteorJS:用户集合如何公开新字段

    我在用户集合中添加了新字段 但是当我在客户端 Meteor user cart 中访问它时 cart 是我的新字段 其未定义 如何公开新字段 购物车 以便可以在客户端中访问 最简单的方法是添加一个null发布者将自动发送数据 无需订阅 请务
  • Mongoose 模型 update() 与 save()

    有一个关于问题update vs save https stackoverflow com questions 39010045 mongoose update vs save 但它针对的是一些不同的东西 我猜 纯粹相关mongoose S
  • Java MongoDB 获取子文档的值

    我试图从子文档中获取键的值 但我似乎无法弄清楚如何使用 BasicDBObject get 函数 因为键嵌入了两层深度 这是文档的结构 File name file 1 report name report 1 group RnD 基本上一
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • MongoDB自增ID

    MongodB 中自动生成的 ID 的大小为12 Bytes大整数的大小是8 bytes 我在 4 台运行 Ubuntu Server 的机器上有一个 mongodb 集群 但我现在只是在测试 插入只能通过一台服务器 即 Nodejs 服务
  • spring-data-mongodb 在重新水化对象时到底如何处理构造函数?

    我读过了http static springsource org spring data data mongo docs 1 1 0 RELEASE reference html mapping chapter http static sp
  • MongoDB:检查值是否为空或数组是否为空

    我想匹配所有不包含 公司 属性或 公司 值为空或空数组的文档 User find Company in null function err users if err throw err console log users length th
  • 使用 PHP 从 Mongo 解码 JSON

    我已经看过这个线程 PHP 解码嵌套 JSON https stackoverflow com questions 3555335 php decode nested json并没有设法用它来解决我的问题 我目前正在从 Mongo 获取 J
  • Mongodb MapReduce 选择最新日期

    我似乎无法让我的 MapReduce 缩减功能正常工作 这是我的地图功能 function Map day Date UTC this TimeStamp getFullYear this TimeStamp getMonth this T
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la

随机推荐

  • x86 程序集:弹出一个值而不存储它

    在x86汇编中 是否可以从堆栈中删除一个值而不存储它 类似的东西pop word null 我显然可以使用add esp 4 但也许我缺少一个漂亮干净的 cisc 助记符 add esp 4 add rsp 8 is正常 惯用 干净的方式
  • Compact Framework 的 Zip 库选项?

    我的要求 支持 NET Compact Framework 2 0 和Windows Mobile 6 0 设备 只需将内容解压到存储卡上的目录即可 不需要创建 zip 文件 必须能够在企业 商业软件中使用 可以开源 但没有 GPL 或其他
  • 动态删除一系列 Excel 单元格中的空白

    我有一个命名的数据范围 称为 数据 我试图找到一个公式或数组公式 它将返回新的单元格范围中的数据 但会丢失所有空白行 i e data is row x y 1 A 77 2 3 B 23 4 A 100 5 我的新范围是 row x y
  • Android 中没有提示的蓝牙发现

    我可以使用以下代码在没有任何提示的情况下打开 关闭蓝牙 这个需要BLUETOOTH and BLUETOOTH ADMIN权限 boolean isEnabled bluetoothAdapter isEnabled if enable i
  • 即使我安装了它,也没有名为“Kivy”的模块

    据我所知 我已经安装了 Kivy 和所有需要的文件 但我仍然收到此错误消息 我不知道为什么 from kivy app import App from kivy uix gridlayout import GridLayout class
  • 四色定理美国地​​图的Java实现

    我试图为每个状态分配一种颜色 以便没有两个相邻的状态共享相同的颜色 http en wikipedia org wiki Four color theorem http en wikipedia org wiki Four color th
  • 如何将 ICC 添加到现有 PDF 文档

    我有一个使用 CMYK 颜色的现有 PDF 文档 它是使用我获得的特定 ICC 配置文件创建的 如果我在配置文件处于活动状态时打开文档 则颜色明显不同 据我使用各种工具所知 文档中没有嵌入 ICC 配置文件 我想做的是将 ICC 配置文件嵌
  • 加密/解密大文件 (.NET)

    我必须加密 存储然后解密大文件 最好的方法是什么 我听说 RSA 加密很昂贵 建议使用 RSA 加密 AES 密钥 然后使用 AES 密钥加密大文件 任何带有示例的建议都会很棒 一种有机体很大 另一种有机体很小 尽管我们看到它时都知道它很昂
  • MySQL 中复杂的 COUNT 查询

    我正在尝试查找特定用户拥有的视频积分数量 以下是相关的三个表 CREATE TABLE userprofile userprofile id int 11 NOT NULL AUTO INCREMENT full name varchar
  • pandas 绘图值以降序计数 barplot [重复]

    这个问题在这里已经有答案了 我有一个数据框 我试图计算每个值的出现次数 我将其绘制为水平条 但无法对其进行排序 df pd DataFrame A A A B B C columns letters df value counts A 3
  • 当某些后台进程仍在运行时,命令“exit”不起作用

    退出 命令不适用于我的情况 我不明白为什么 ssh user mysever lt lt HEREDOC echo 1 Running PM2 log pm2 log echo 2 PM2 log is now in background
  • 如何在applozic中列出我的联系人列表并发送消息

    Context context getApplicationContext AppContactService appContactService new AppContactService context if appContactSer
  • 尽管实际和预期相同,但 JUnit 给出 ComparisonFailure

    我正在尝试使用 Jsoup 解析网站中的字符串 并编写以下测试来验证解析 这是我的测试 Test public void extractBookData throws Exception String bookLink some addre
  • 将“$(VAR)”回显到文件

    我的 Makefile 中的一行遇到以下问题 echo include BASE Makefile base gt file 如果我直接将其写入控制台 它实际上会将 include BASE Makefile base 打印到文件中 但是当
  • C++11 观察者模式(信号、槽、事件、更改广播器/侦听器或任何您想要的名称)

    随着 C 11 中所做的更改 例如包含std bind 是否有推荐的方法来实现简单的单线程观察者模式 而不依赖于核心语言或标准库外部的任何内容 例如boost signal EDIT 如果有人可以发布一些代码来显示如何依赖boost sig
  • TypeError:无法使用 ReactJs 读取 webpack-cli 中未定义的属性“presetToOptions”

    我正在开发 ReactJS 应用程序并配置 webpack 2 7 0 webpack cli 2 0 9 但是从 cmd 运行 webpack 时出现以下错误 const statsPresetToOptions require webp
  • 延迟 Javascript 中的默认事件

    我希望能够延迟事件的默认操作 直到采取其他操作为止 它的用途 我正在尝试构建一种可重用的 不引人注目的方式来通过模态类型对话确认操作 关键的愿望清单项目是任何 Javascript 处理程序都由脚本附加 而不是直接内联编写 为了使其真正可重
  • 为什么我收到关于隐藏基类方法的属性的警告 CS0108 [重复]

    这个问题在这里已经有答案了 鉴于以下类 C 编译器会向我发出此警告 CS0108 B Example 隐藏继承的成员 A Example string 如果打算隐藏 请使用 new 关键字 class A public string Exa
  • 防止隐藏属性被序列化

    这是对这个问题的一种利用 ASP NET 阴影问题 https stackoverflow com questions 5560278 asp net shadowing issues 我发现问题实际上并不是属性没有被序列化 而是 阴影属性
  • mongo 地理位置数据的 Meteor 简单模式

    我想为我的流星应用程序创建一个管理表单 在从头开始构建 Ogno Admin 之前 我打算尝试一下 Ogno Admin 但我不确定它是否可以支持我需要的格式的数据 我当前的应用程序数据像这样进入 mongo Beaches insert