Mongoose和nodejs:关于模式和查询

时间:2018-04-16 09:50:20

标签: node.js mongodb mongoose

我正在建立一个休息api,允许用户提交和检索调查产生的数据:问题不是强制性的,每个人都提交"可能彼此不同。每个提交都是一个带有数据的json和一个"调查ID":

{
  id: abc123,
  surveyid: 123,
  array: [],
  object: {}
  ...
}

我必须存储这些数据并允许检索和查询。

第一种方法:不使用模式并将所有内容放在一个集合中:它可以工作,但每个json字段都被视为"字符串"并且对数值进行查询是有问题的。

第二种方法:为每个调查获取问题数据类型,在json文件上创建/保存mongoose模式,然后保持更新此文件。 像这样的东西,其中入口"架构:{}"表示用于插入和查询/检索数据的mongoose模式。

[ 
  {
    "surveyid" : "123",
    "schema" :   {
        "name": "string",
        "username" : "string",
        "value" : "number",
        "start": "date",
        "bool" : "boolean",
        ...
    }
  },
  { ... }
]

希望这很清楚,我提出了一些问题:

  1. 现在我已经为所有"提交了一个集合"一切都被视为一个字符串。我可以使用mongoose模式,而不进行其他修改,以指定某些字段是数字(或日期或其他)?它是允许的,还是一个好主意?

  2. 使用外部json文件有什么不利之处吗? Mongoose模式在请求时在运行时加载,或者在更新此文件时是否需要重新启动服务?

  3. 如何使用"架构存储数据"那经常会改变吗?

  4. 我希望它清楚!

    谢谢!

0 个答案:

没有答案