当前位置: 首页 > 编程笔记 >

Node.js 使用Mongoose和Express.js路由将数据保存到MongoDB

宋洲
2023-03-14
本文向大家介绍Node.js 使用Mongoose和Express.js路由将数据保存到MongoDB,包括了Node.js 使用Mongoose和Express.js路由将数据保存到MongoDB的使用技巧和注意事项,需要的朋友参考一下

示例

设定

首先,使用以下命令安装必要的软件包:

npm install express cors mongoose

代码

然后,将依赖项添加到server.js文件中,创建数据库模式和集合名称,创建Express.js服务器,并连接到MongoDB:

var express = require('express');
var cors = require('cors'); // 我们将使用CORS启用跨源域请求。
var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var app = express();

var schemaName = new Schema({
    request: String,
    time: Number
}, {
    collection: 'collectionName'
});

var Model = mongoose.model('Model', schemaName);
mongoose.connect('mongodb://localhost:27017/dbName');

var port = process.env.PORT || 8080;
app.listen(port, function() {
    console.log('Node.js listening on port ' + port);
});

现在添加Express.js用于写入数据的路由:

app.get('/save/:query', cors(), function(req, res) {
    var query = req.params.query;

    var savedata = new Model({
        'request': query,
        'time': Math.floor(Date.now() / 1000) // 以Unix时间戳格式保存数据的时间
    }).save(function(err, result) {
        if (err) throw err;

        if(result) {
            res.json(result)
        }
    })
})

在这里,query变量将是<query>传入HTTP请求中的参数,并将其保存到MongoDB:

var savedata = new Model({
    'request': query,
    //...

如果尝试写入MongoDB时发生错误,您将在控制台上收到一条错误消息。如果一切成功,您将在页面上看到JSON格式的已保存数据。

//...
}).save(function(err, result) {
    if (err) throw err;

    if(result) {
        res.json(result)
    }
})
//...

现在,您需要启动MongoDB并server.js使用来运行文件node server.js。

用法

要使用它来保存数据,请在浏览器中转到以下URL:

http://localhost:8080/save/<query>

<query>您希望保存的新请求在哪里。

例:

http://localhost:8080/save/JavaScript%20is%20Awesome

以JSON格式输出:

{
    __v: 0,
    request: "JavaScript is Awesome",
    time: 1469411348,
    _id: "57957014b93bc8640f2c78c4"
}

           

 类似资料:
  • 本文向大家介绍Node.js 使用Mongoose和Express.js路由在MongoDB中查找数据,包括了Node.js 使用Mongoose和Express.js路由在MongoDB中查找数据的使用技巧和注意事项,需要的朋友参考一下 示例 设定 首先,使用以下命令安装必要的软件包: 代码 然后,将依赖项添加到server.js,创建数据库模式和集合名称,创建Express.js服务器,并连接

  • 问题内容: 目前,我使用angular-file- upload处理图像上传,我只是将图像保存到服务器的文件系统中,并在HTML中引用它。但是,我想尝试将图像直接存储在为博客文章定义的架构内的数据库中。 我要这样做,这样我就可以拥有一个存储图像本身的字段。我当时想我可以像以前一样上传图像,但是在上传图像之后将其转换并以二进制(或其他形式)存储在Mongo中。这可能吗? 谢谢! 问题答案: 下面的示

  • 问题内容: 我正在尝试使用express.js创建一个简单的CMS,以动态创建路由。它从数据库中获取一个JSON,如下所示: 并遍历对象以创建路由,如下所示: 现在一切正常。但是问题在于,每次用户修改内容和路径时,都需要重新启动整个节点应用程序。我没有找到任何API调用来删除路由。 有什么方法可以安全地删除通过app.get设置的旧路由吗?我应该这样做吗? 有没有更好的方法来进行这种路由?我喜欢这

  • 本文向大家介绍Node.js 使用Mongoose连接到MongoDB,包括了Node.js 使用Mongoose连接到MongoDB的使用技巧和注意事项,需要的朋友参考一下 示例 首先,使用以下命令安装Mongoose: 然后,将其添加server.js为依赖项: 接下来,创建数据库模式和集合名称: 创建一个模型并连接到数据库: 接下来,启动MongoDB并server.js使用运行node s

  • 问题内容: 如何将表单数据保存在文件或本地db(也许使用AJAX)中,该文件或数据通过表单操作将数据发送到外部db? 我的表单的源代码在这里:http : //jsbin.com/ojUjEKa/1/edit 我应该对代码进行哪些更改(如果有)? 对。因此,我能够使用AJAX将数据存储到localStorage中,并希望将存储的数据发送到名为backend.php的文件中。这是我的html文件:

  • 我的应用程序从名为PDFTableView的解析类中提取数据,并将文件名和作者名存储到我的TableView中。我对它进行了编程,所以当用户选择单元格时,他们会被带到downloadDetailView,在那里,他们可以下载文件,我只需按下一个按钮。其他的一切都可以工作,但我不知道如何编程按钮,以保存文件存储在我的数组到计算机上。这是我的代码 这会将文件拉到详细信息视图中。在详细视图中声明的属性。