Javascript Mongodb不保存文档
我试图存储一些来自HTML公式集的数据。我使用HTTP POST方法发送数据,并使用Node.js中的Express framework接收数据。数据到达了,并且似乎正常工作,但当我尝试使用Mongoose将它们存储到MongoDB中时,创建了数据库,但在执行DB.sis_dictionary.find()时没有存储数据 我尝试过构建不同类型的模式和模型,但似乎都不管用。我从Node.js中没有发现任何错误,它似乎在工作,但MongoDB数据库没有存储任何内容Javascript Mongodb不保存文档,javascript,html,node.js,mongodb,Javascript,Html,Node.js,Mongodb,我试图存储一些来自HTML公式集的数据。我使用HTTP POST方法发送数据,并使用Node.js中的Express framework接收数据。数据到达了,并且似乎正常工作,但当我尝试使用Mongoose将它们存储到MongoDB中时,创建了数据库,但在执行DB.sis_dictionary.find()时没有存储数据 我尝试过构建不同类型的模式和模型,但似乎都不管用。我从Node.js中没有发现任何错误,它似乎在工作,但MongoDB数据库没有存储任何内容 const Mongoose =
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\u additionary
是您的数据库名称,Words
应该是您的集合名称。如果从架构创建时未指定模型名称,As mongoose会自动为模型中的集合创建复数名称
db.collection.find()
是在使用mongo shell时查找集合数据的命令。运行以下命令以获取数据:
使用sis\u字典
用漂亮的方法来美化效果db.Words.find()
db.Words.find().pretty()
db.sis\u dictionary.find()
时,它将不起作用,因为sis\u dictionary是您的db名称
用“猫鼬”点头致意
//Model.find({});
Word.find({});
另外,检查这一行varword=newword({word:String(req.body)})代码>
需求主体有什么?如果req.body是{word:“example word”}
则直接将req.body传递给模态构造函数ie新词(req.body)
根据您的数据库URL,mongodb://localhost:27017/sis_dictionary
,sis\u dictionary
是数据库名称
根据您的mongoose
模型,Word
是您的收藏名称
保存文档时,它将保存在集合下。因此,您必须在集合下进行查询
因此,当您尝试使用DB.sis\u dictionary.find()
获取数据时,它肯定不会起作用
您的查询应该类似于db.collection.find()
使用以下查询
use sis_dictionary
db.words.find()
// for better view
db.words.find().pretty()
有关更多信息,请查看。谢谢大家。你说得对,这是一个和我的名字有关的问题。db.words.find().pretty()工作得很好!问题解决了。您在req.body
中有什么?