文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在Ubuntu 19.10中怎么利用mongoose连接mongoDB

2023-06-05 13:12

关注

本篇文章为大家展示了在Ubuntu 19.10中怎么利用mongoose连接mongoDB,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Mongoose是一个建立在MongoDB驱动之上的ODM(对象数据建模)库。它允许在NodeJS环境中与MongoDB进行简洁的交互和简单的对象建模。

在开始之前,建议:

设置具有sudo特权的非根用户。

验证您的服务器是最新的。

确保安装了build-essential。如果不是,安装使用:

$ sudo apt install build-essential

步骤1:MongoDB

安装MongoDB

$ sudo apt install mongodb

检查安装是否正确。在输出中查找“active (running)”。

$ sudo systemctl status mongodb
Active: active (running)

步骤2:NodeJS和NPM

添加最新的稳定NodeJS库。

$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -

安装NodeJS

$ sudo apt install nodejs

检查NodeJS和NPM是否安装正确。

$ node -v && npm -v
v12.x.x
6.x.x

步骤3:初始化Mongoose项目

创建项目根目录。

$ cd ~
$ mkdir mongooseProject && cd mongooseProject

初始化一个NodeJS开发环境,自动生成一个package.json:

$ npm init

根据你的项目回答简短的问题。例如,如果您在每个问题上按return接受默认值,npm init进程会响应:

About to write to /root/mongooseProject/package.json:
 
{
"name": "mongooseproject",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

使用npm在项目根目录中安装所需的包:

$ npm install --save mongoose

步骤4:定义一个模型

在项目根目录中创建一个名为Models的文件夹,并将cd放入其中:

$ cd ~/mongooseProject
$ mkdir Models && cd Models

创建connectDB.js。该文件将包含MongoDB服务器所需的连接逻辑。

$ nano connectDB.js

将以下内容粘贴到connectDB.js中。

const mongoose = require('mongoose'); // Import mongoose library
 
module.exports = function(uri) {
    mongoose.connect(uri, {  //attempt to connect to database
        useNewUrlParser: true, // Recommended, insures support for future MongoDB drivers
        useUnifiedTopology: true // Recommended, uses new MongoDB topology engine
    }).catch(error => console.log(error)) // Error handling
 
 
    mongoose.connection.on('connected', function () { // On connection
        console.log('Successful connection with database: ' + uri); // Callback for successful connection
    });
}

创建Users.js。这个文件将包含数据库集合用户的模型。

$ nano Users.js

将以下内容粘贴到Users.js中。这为用户定义了一个基本模式。

const mongoose = require("mongoose"); // Import mongoose library
const Schema = mongoose.Schema // Define Schema method
 
// Schema
var UsersSchema = new Schema({ // Create Schema
    name: String, // Name of user
    age: Number, // Age of user
    role: String // Role of user
})
 
// Model
var Users = mongoose.model("Users", UsersSchema) // Create collection model from schema
module.exports = Users // export model

步骤5:将文档插入MongoDB

在项目的根目录中创建insertUser.js。

$ cd ~/mongooseProject
$ nano insertUser.js

将以下内容粘贴到insertUser.js文件中。该文件将文档插入到用户集合中。

//Library
const mongoose = require("mongoose")
 
// Database connection
const connectDB = require("./Models/connectDB")
var database = "mongoose" // Database name
 
// Models
const Users = require("./Models/Users")
 
// Connect to database
connectDB("mongodb://localhost:27017/"+database)
 
var insertedUser = new Users({ // Create new document
    name: "John Doe",
    age: 18,
    role: "Example User"
})
 
insertedUser.save(err => { // save document inside Users collection
    if(err) throw err // error handling
    console.log("Document inserted!")
    mongoose.disconnect() // disconnect connection from database once document is saved
})

运行insertUser.js

$ node insertUser.js
Successful connection with database: mongodb://localhost:27017/mongoose
Document inserted!

步骤6:从MongoDB读取文档

在项目的根目录中创建readUsers.js。

$ cd ~/mongooseProject
$ nano readUsers.js

将以下内容粘贴到readUsers.js中。该文件读取用户集合中的文档。

//Library
const mongoose = require("mongoose")
 
// Database connection
const connectDB = require("./Models/connectDB")
var database = "mongoose" // Database name
 
// Models
const Users = require("./Models/Users")
 
// Connect to database
connectDB("mongodb://localhost:27017/"+database)
 
Users.find({}, (err, users)=>{ //find and return all documents inside Users collection
    if(err) throw err // error handling
    console.log(users)
    mongoose.disconnect()
})

运行readUsers.js 输出是一个对象数组。

$ node readUsers.js
Successful connection with database: mongodb://localhost:27017/mongoose
[ { _id: ************************,
    name: 'John Doe',
    age: 18,
    role: 'Example User',
    __v: 0 } ]

完成。

上述内容就是在Ubuntu 19.10中怎么利用mongoose连接mongoDB,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯