如何从 JSON 创建 Mongoose 模式

2024-06-02

我是 mongodb、nodejs 和 mongooseJS 的新手。最近,我一直在尝试为我的 JSON 创建猫鼬模式。

{
  "endpoints":["a","z"],
  "poi":[{
  "location_name": "a",
  "latitude": " 10.1075702",
  "longitude": "76.345662",
  "distance" : "0.0"
}, {
  "location_name": "b",
  "latitude": "10.110199",
  "longitude": "76.3489361",
  "distance" : "2.0"
}, {
  "location_name": "c",
  "latitude": "10.1197471",
  "longitude": "76.342873",
   "distance" : "3.1"
}, {
  "location_name": "d",
  "latitude": "10.1254479",
  "longitude": "76.3332626",
   "distance" : "4.4"
}, {
  "location_name": "e",
  "latitude": "10.1443277",
  "longitude": "76.2566017",
  "distance" : "13.9"
}, {
  "location_name": "f",
  "latitude": "10.1487145",
  "longitude": "76.2441114",
   "distance" : "15"
}, {
  "location_name": "z",
  "latitude": "10.145578",
  "longitude": "76.2317077",
  "distance" : "16.9"
}]
}

这是我的 JSON 文件。我尝试使用生成架构https://github.com/nijikokun/generate-schema https://github.com/nijikokun/generate-schema这给了我以下输出

 { 
endpoints:[ 'String' ], 
poi: [ 'String' ]
 }

我使用了这个,当我使用 Chrome 网上商店的 Postman 测试它时,我无法使用 get 请求从数据库中检索完整的 JSON。我都无法成功运行发布请求。

最近我尝试使用 JSON 模式而不是使用 mongoose 模式

mongoose.Schema("JSON Schema')

当我尝试使用 JSON 模式时,我可以使用 GET 请求从 mongodb 集合中检索数据,但无法使用 JSON 模式正确发布数据

我也在考虑放弃nodejs并用java和mongodb重新开发webservice。如果我尝试使用 Java Web 服务与 mongodb 交互,是否会影响我的 Web 应用程序的性能?


您可以使用Generate Schemas模块来执行此任务。

var jsonObject={
var GenerateSchema = require('generate-schema')
var schema = GenerateSchema.json('Product',jsonObject);

console.log(JSON.stringify(schema))

由于您有两个主要属性,其中之一是endpoints和别的poi

这是 JSON 对象的输出模式

    {
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Product",
  "type": "object",
  "properties": {
    "endpoints": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "poi": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "location_name": {
            "type": "string"
          },
          "latitude": {
            "type": "string"
          },
          "longitude": {
            "type": "string"
          },
          "distance": {
            "type": "string"
          }
        }
      }
    }
  }
}

建议:你会得到一些不需要的字段,你必须修改它。所以我认为你应该根据你的对象创建自定义模式,这对你来说更好

您还可以获取其他参考资料here https://stackoverflow.com/questions/8504446/defining-a-mongoose-schema-on-the-fly-from-a-json-formatted-description

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

如何从 JSON 创建 Mongoose 模式 的相关文章

随机推荐

  • 如何在组织模式下关闭公司模式?

    我正在使用 spacemacs 并尝试在组织模式下关闭公司模式 同时将其保留在其他主要模式中 我尝试过以下方法 global company mode not org mode 但它不起作用 禁用自org mode hook 此方法几乎适用
  • C++ 返回指针/引用

    我对解引用运算符 运算符地址和一般指针有相当好的理解 然而 当我看到这样的东西时 我会感到困惑 int returnA int j a return j int returnB return b int returnC return c i
  • 找不到仅适用于数字的 Tesseract 4.0 tessdata

    正如这篇文章中所说 pytesseract 仅使用 tesseract 4 0 数字不起作用 https stackoverflow com questions 46574142 pytesseract using tesseract 4
  • Angular Material 选项卡组件 - 如何更改标签字体大小

    我正在使用 Angular Material 选项卡组件 使用直接来自官方文档的示例
  • WP7 MVVMCross 检测 ViewModel 内的 RequestClose 或 BackKeyPressed

    我有两种看法 我从一个导航到另一个 在另一个中我调用 RequestClose 或使用后退按键 如何在第一个 ViewModel 中检测到这些事件 问候 担 默认情况下 MvvmCross 框架不会告诉您此事件 您需要找出其他方法让 Vie
  • 将字符串渲染为 React 组件

    我想用字符串作为我从另一个页面动态接收的输入来渲染反应组件 但是我会有反应组件的参考资料 这是例子 Page1 loadPage div div
  • 如何在 Rails 3 项目中包含 SSL 证书

    我开发了一个 Rails 3 项目 它使用thin作为服务器 与 Devise 和 Doorkeeper 一起进行身份验证 我想在我的项目中添加 SSL 证书 我看过一些描述如何在 Rails 3 项目中使用 SSL 证书的帖子 但没有一个
  • 将电子邮件规则中的日期时间字段标记转换为本地时区

    在 Orchard 中 我有一个自定义内容类型 其中包含日期时间字段 我创建了一条规则 用于在提交新内容项时发送电子邮件 我可以使用以下令牌在电子邮件中包含日期时间字段的值 Content Fields MyContentType MyDa
  • ODE 时间 Matlab 与 R

    如果在 matlab 中使用可变时间步长求解器 例如 ODE45 我会定义输出的时间跨度 即times 0 50 matlab 将返回 0 到 50 之间不同时间步长的结果 然而在 R 中 我似乎必须定义我希望 ODE 返回结果的时间点 即
  • 如何防止表单元素发送一些我们不想要的字段?

    我有一个表单元素 其中包含大约 5 个字段 最终查询将通过处理这些字段的值来创建这些字段 因此 我只想向服务器发送最终查询 而不是所有查询 如何排除这些字段的提交 使用 jQuery
  • 使用 Jersey-Spring 在 Jersey 中自动装配 Spring 依赖关系时出现问题

    我正在尝试使用 Jersey Spring 在我的 Jersey 应用程序中进行 DI 设置 然而 当我点击一条路线时 我收到 500 个错误 并看到下面的堆栈跟踪 No beans found Resolution failed for
  • Python Folium 图标列表

    是否有可用的图标列表 我可以在像我使用的表达式中使用它们home在这个 folium Marker location 0 20 icon folium Icon color lightgray icon home prefix fa add
  • 内存转储格式类似于 gdb 中的 xxd

    我正在尝试检查一个缓冲区 其中包含二进制格式的消息 但也包含字符串数据 作为示例 我正在使用以下 C 代码 int main void char buf 100 x01 x02 x03 x04String Data xAA xBB xCC
  • 如何使用 Visual Studio 2013 和实体框架将控制器添加到 ASP.NET MVC?

    当我使用 ASP NET MVC 5 0 和 Entity Framework 6 0 在 Visual Studio 2013 中添加控制器时 出现错误 我已经添加了一些控制器并生成了视图 但是在添加数据表包之后 我收到了此类错误 Err
  • 字符串的外部文件,而不是对它们进行硬编码

    我有开发一些 Android 应用程序的经验 这些应用程序可以轻松地拥有可以存储字符串的 XML 字符串文件 上次我开发桌面 Java 应用程序时 我对字符串进行了硬编码 例如按钮标题 标签等 我后来了解到这是不好的做法 我应该将字符串存储
  • 如何检查浏览器的JavaScript是否启用

    我的应用程序依赖于 JavaScript 我想检查客户端浏览器的 JavaScript 是否启用 如果关闭则发出警报消息 其实有一个
  • 实体框架未正确修改或删除子项

    我正在尝试保存Firm包含地址和网站的对象 我开发了在 Angular 7 中使用反应式表单在 UI 中添加和删除地址控件的功能 Firm对象 它正在为地址和网站创建附加条目 而不是将其视为现有记录 因此 如果我从 UI 中删除网站和地址
  • 从 Symfony2 中的 http_basic auth 注销

    每当我去 admin logout 我已正确重定向到项目的根目录 但在访问时仍处于登录状态 admin 因为没有提示我输入凭据 这是我的配置 安全 yml security firewalls admin area pattern admi
  • javascript async/await 实际上是如何工作的?

    我有一些使用 javascript async await 的代码 function sleep ms return new Promise resolve gt setTimeout resolve ms async function f
  • 如何从 JSON 创建 Mongoose 模式

    我是 mongodb nodejs 和 mongooseJS 的新手 最近 我一直在尝试为我的 JSON 创建猫鼬模式 endpoints a z poi location name a latitude 10 1075702 longit