Swagger定义可以包含JSON引用($ ref),例如:
{"paths": {
"/malts": {
"get": {
"responses": {
"200": {
"schema": {
"$ref": "#/definitions/Malt"
}
}
}
}
}
}
在MongoDB中存储此JSON对象似乎可行,但稍后更新时会出现以下错误:
MongoError:DBRef $ ref字段必须跟一个$ id字段
这是否真的意味着JSON引用无法存储在MongoDB中,因为Mongo也使用$ ref作为their internal database reference?
答案 0 :(得分:0)
我相信这是你对mongodb驱动程序的使用。您使用的是哪个客户端库以及哪个版本?
答案 1 :(得分:0)
我在尝试在Mongo中存储json架构对象时遇到了同样的问题(使用$ ref键)。
通过使用这个非常简单的mongo对象转义库,我能够解决这个问题:https://www.npmjs.com/package/mongo-json-escape
简单示例:
var mje = require('mongo-json-escape');
var safeToStoreObject = mje.escape({"hello$world":"hello"});
var readyToUseObject = mje.unescape({"hello\uFF04world":"hello"});