如何通过 JSON 对象将数据保存到 mongodb 数据库?
Posted
技术标签:
【中文标题】如何通过 JSON 对象将数据保存到 mongodb 数据库?【英文标题】:How to Save data to mongodb database by JSON object? 【发布时间】:2020-02-03 00:39:01 【问题描述】:我想将数据保存到数据库中。我曾经使用数据库检查我的 URL。但我做不到。 它显示此消息:
DeprecationWarning:当前的 URL 字符串解析器已被弃用,并将 在未来的版本中被删除。要使用新的解析器,请传递选项 useNewUrlParser: true 到 MongoClient.connect。监听 3000 端口 _id:5d9775340007cc3c8cb34caf _id:5d9775340007cc3c8cb34caf, __v: 0 错误 [ERR_HTTP_HEADERS_SENT]: 发送到客户端后无法设置标头
这是我的路由器文件代码:
router.post("/timeTableRegistration", function(req, res)
const newTimeTable = new classTimeTable(
object: req.body
);
console.log(newTimeTable);
newTimeTable
.save()
.then(result =>
console.log(result);
res.json( state: true, msg: "Data Inserted Successfully..!" );
)
.catch(error =>
console.log(error);
res.json( state: false, msg: "Data Inserting Unsuccessfull..!" );
);
res.send("Success");
);
这是我的模型文件:
const mongoose = require("mongoose");
const Schema = mongoose.schema;
const classTimeTableSchema = mongoose.Schema(
className: type: String, require: true ,
monday:
1: type: String, require: true ,
2: type: String, require: true
,
tuesday:
1: type: String, require: true ,
3: type: String, require: true
);
const classTimeTable = (module.exports = mongoose.model(
"classTimeTable",
classTimeTableSchema
));
【问题讨论】:
您的连接是什么样的?像这样的东西mongoose.connect('mongodb://localhost:27017/myapp', useNewUrlParser: true);
- 来自docs
没有 JSON 对象之类的东西,将工作日作为列名似乎是错误的数据库设计
【参考方案1】:
您只需在连接到 mongodb 的位置添加选项 useNewUrlParser: true 。它还在提供的错误中清楚地说明了这一点。标头已发送的通知是您之前已经使用过输出,因此这可能只是因为您没有正确捕获错误。
因此,可能在配置文件或应用程序设置/引导程序中的某处找到您与数据库的连接,然后只需添加该选项 useNewUrlParser: true
【讨论】:
以上是关于如何通过 JSON 对象将数据保存到 mongodb 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 LocalStorage 将 json 对象保存到 Assets 文件夹