通过Mongoose(Node JS)在Mongo DB中插入没有JSON模式的JSON对象

Posted

技术标签:

【中文标题】通过Mongoose(Node JS)在Mongo DB中插入没有JSON模式的JSON对象【英文标题】:Inserting JSON object without JSON schema in Mongo DB through Mongoose (Node JS) 【发布时间】:2016-03-19 15:08:13 【问题描述】:

我创建了一个 NodeJS 项目来记录 MongoDB 中的 JSON 对象,该对象曾经出现在我的 JAVA API 中。为了插入对象,我定义了 JSON 模式并将其设置为 Mongoose 对象,如下所示。

var stateModel = require('./model/TeslaProfileRequest_JSONSchema.json');
var stateSchema = new mongoose.Schema(stateModel);
var State = mongoose.model('TeslaRequest', stateSchema);

这样,我可以保存我的 JSON 对象,但它是紧密耦合的过程。因为如果我的 Java API 中更改了 TeslaProfileRequest_JSONSchema.json,我也必须更改 Node JS 项目中的 JSON 模式。

我想要做的是,在我的 Node JS 项目中不定义 JSON 模式,我想记录这个 API 接收到的对象。请帮帮我。

【问题讨论】:

【参考方案1】:

在模式中,只需使用一个字段作为对象并将 JSON 放在那里。

例如,您的架构可能是这样的:

var mongoose = require('mongoose'),
    Schema = mongoose.Schema;

var JSONSchema = new Schema(
    created_at: Date,
    updated_at: Date,
    json: Object
);

mongoose.model('JSON', JSONSchema);

然后将您的 JSON 插入到 json 字段中

【讨论】:

以上是关于通过Mongoose(Node JS)在Mongo DB中插入没有JSON模式的JSON对象的主要内容,如果未能解决你的问题,请参考以下文章

node.js 中间件 mongoose

如何使用 mongo、passport 和 node js 更新用户的个人资料?

Node.js/Mongoose 上的“版本错误:未找到匹配的文档”错误

Node.js / Express / Mongoose - 如何发送 JSON 以及对象视图?

Node.js / Mongoose上的“VersionError:找不到匹配的文档”错误

Mongoose、Cygwin 和 MongoDB - 不保存