通过 npm 包共享猫鼬模型
Sharing mongoose models via npm package
我正在编写一些使用相同数据库和模式的应用程序。
我需要在所有应用程序之间共享猫鼬模型——每个应用程序都有自己的快速服务器。
我尝试创建一个模型服务器并使用 mongoose-gen npm 请求 JSON,它工作但不完全所以我必须寻找另一个解决方案。
我在这里找到了一些关于为此创建 npm 包的答案,我这样做了,但仍然缺少一些东西——我发布了包并将其导入到我的代码中,但是当我实际尝试查询模式时——什么都没有发生了,服务器 returns 500 错误:
MongooseError:操作 examples.insertOne()
缓冲在 10000 毫秒后超时。
我觉得我的包裹里少了什么东西,但我不知道是什么东西。
这是包装内含的物品:
./index.js
const example =require("./SystemWave")
module.exports.Example=example
./SystemWave.js
const mongoose = require('mongoose')
const systenWaveSchema = mongoose.Schema({
timestamp: { type: Date, default: Date.now },
subject: {type:String, require: true},
})
module.exports = mongoose.model('example', systenWaveSchema)
./package.json
{
"name": "modelsnpm",
"version": "1.0.6",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"mongoose": "^5.11.15"
}
}
./node_modules
./package-lock.json
./README.md
我不知道是否应该添加数据库 URL 或其他任何内容。
更新 :
我在这里找到了另一个解决方案:
Schemas in external module not working in Node.js
但似乎return同样的错误...
最终,我想到了这个解决方案:
Schemas in external module not working in Node.js
通过对代码进行一些更改,它成功了!
我所做的修改:
const user=require('./models/user');
used in the schema file
this.models = {
user: user
}
希望对大家有所帮助:)
我正在编写一些使用相同数据库和模式的应用程序。 我需要在所有应用程序之间共享猫鼬模型——每个应用程序都有自己的快速服务器。
我尝试创建一个模型服务器并使用 mongoose-gen npm 请求 JSON,它工作但不完全所以我必须寻找另一个解决方案。
我在这里找到了一些关于为此创建 npm 包的答案,我这样做了,但仍然缺少一些东西——我发布了包并将其导入到我的代码中,但是当我实际尝试查询模式时——什么都没有发生了,服务器 returns 500 错误:
MongooseError:操作 examples.insertOne()
缓冲在 10000 毫秒后超时。
我觉得我的包裹里少了什么东西,但我不知道是什么东西。
这是包装内含的物品:
./index.js
const example =require("./SystemWave")
module.exports.Example=example
./SystemWave.js
const mongoose = require('mongoose')
const systenWaveSchema = mongoose.Schema({
timestamp: { type: Date, default: Date.now },
subject: {type:String, require: true},
})
module.exports = mongoose.model('example', systenWaveSchema)
./package.json
{
"name": "modelsnpm",
"version": "1.0.6",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"mongoose": "^5.11.15"
}
}
./node_modules
./package-lock.json
./README.md
我不知道是否应该添加数据库 URL 或其他任何内容。
更新 :
我在这里找到了另一个解决方案:
Schemas in external module not working in Node.js
但似乎return同样的错误...
最终,我想到了这个解决方案:
Schemas in external module not working in Node.js
通过对代码进行一些更改,它成功了!
我所做的修改:
const user=require('./models/user');
used in the schema file
this.models = {
user: user
}
希望对大家有所帮助:)