gpt4 book ai didi

javascript - Mongodb不保存文档

转载 作者:行者123 更新时间:2023-12-01 00:35:34 25 4
gpt4 key购买 nike

我正在尝试存储 HTML 处方集中的一些数据。我使用 HTTP POST 方法发送数据,并使用 Node.js 中的 Express 框架接收数据。数据到达并且似乎可以工作,但是当我尝试使用 Mongoose 将它们存储到 MongoDB 中时,数据库被创建,但当我执行 DB.sis_dictionary.find() 时没有存储任何数据

我尝试过构建不同类型的架构和模型,但似乎都不起作用。我从 Node.js 中没有收到任何错误,它似乎工作正常,但 MongoDB 数据库不存储任何内容。

const Mongoose = require('mongoose');
Mongoose.connect('mongodb://localhost:27017/sis_dictionary', {useNewUrlParser: true});
const Schema = Mongoose.Schema;
const wordSchema = new Schema({
word: String
})
const Word = Mongoose.model('Word', wordSchema);

app.post('/saveWord', (req, res) => {
var word = new Word({word: String(req.body)});
word.save(function(err){
if(err) {
return console.error(err);
} else {
console.log("STATUS: WORKING");
}
})
console.log(req.body);
})

server.listen(3000);

console.log("SERVER STARTUP SUCCESS");

在控制台中,我收到消息:“状态:正在工作”。

最佳答案

sis_ditionary是您的数据库名称和 Words应该是你的收藏名称。如果从模式创建时未指定模型名称, Mongoose 会自动为模型中的集合创建复数名称

db.collection.find()是使用 mongo-shell 时查找集合数据的命令。运行以下命令获取数据:

  • use sis_dictionary

  • db.Words.find()

    使用漂亮的方法美化结果

    db.Words.find().pretty()

第一个命令将选择数据库,第二个命令将列出收集数据。

所以当你执行db.sis_dictionary.find()时它不起作用,因为 sis_dictinary 是您的数据库名称。

Nodejs 的“ Mongoose ”方式

//Model.find({});
Word.find({});

另外,检查这一行 var word = new Word({word: String(req.body)});req.body 有什么?如果 req.body 是 {word:"example word"}然后你直接将 req.body 传递给模态构造函数,即 new Word(req.body) ;

关于javascript - Mongodb不保存文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58154781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com