Mongodb不保存文档[已解决]
我正在尝试存储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");
在控制台中,我收到消息:“状态:正在工作”。
谢谢你。
回答如下:根据您的数据库URL,mongodb://localhost:27017/sis_dictionary
,sis_dictionary
是数据库名称。
并且根据您的mongoose
模型,Word
是您的集合名称。
[保存文档时,它会保存在集合中。因此,您必须在集合下进行查询。
因此,当您尝试使用DB.sis_dictionary.find()
获取数据时,绝对无法使用。
您的查询应类似于db.collection.find()
使用以下查询,
use sis_dictionary
db.words.find()
// for better view
db.words.find().pretty()
有关更多信息,请检查documentation。