簡體   English   中英

如何從JSON創建Mongoose模式

[英]How to create a Mongoose schema from JSON

我是mongodb,nodejs和mongooseJS的新手。 最近,我一直在嘗試為我的JSON創建一個mongoose模式。

{
  "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中的 generate-schema,它給了我以下輸出

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

我使用了這個,當我使用Chrome webstore中的Postman測試它時,我無法使用get請求從數據庫中檢索完整的JSON。 我都沒能成功運行發布請求。

最近我嘗試使用JSON模式而不是使用mongoose模式

mongoose.Schema("JSON Schema')

當我嘗試使用JSON Schema時,我能夠使用GET請求從mongodb集合中檢索數據,但是我無法使用JSON Schema正確地發布數據

我也在考慮刪除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"
          }
        }
      }
    }
  }
}

建議:您將獲得一些不需要的字段,您必須修改它。 所以我認為你應該根據你的對象創建自定義模式,這對你來說會更好

你也可以在這里獲得其他參考

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM