Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongodb不保存文档_Javascript_Html_Node.js_Mongodb - Fatal编程技术网

Javascript 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 =

我试图存储一些来自HTML公式集的数据。我使用HTTP POST方法发送数据,并使用Node.js中的Express framework接收数据。数据到达了,并且似乎正常工作,但当我尝试使用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\u additionary
是您的数据库名称,
Words
应该是您的集合名称。如果从架构创建时未指定模型名称,As mongoose会自动为模型中的集合创建复数名称

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

  • 使用sis\u字典

  • db.Words.find()

    用漂亮的方法来美化效果

    db.Words.find().pretty()

第一个命令将选择DB,第二个命令将列出采集数据

因此,当您执行
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
中有什么?