Home > Web Front-end > JS Tutorial > body text

Teach you step by step how to use Node to connect to mongodb

青灯夜游
Release: 2023-04-04 19:46:34
forward
1967 people have browsed it

Teach you step by step how to use Node to connect to mongodb

To use Node.js to connect to MongoDB, you usually use the Mongoose Object Document Model (ODM) library. Let’s briefly introduce how to use Mongoose to connect to MongoDB.

Mongoose is a Node.js package that provides an interface for using the mongo database. It is a very lightweight npm package for use in applications. Mongoose has all the set of methods to connect and access data stored in a Mongo database.

react-giant: A react next.js mongodb learning project.

Install the Mongoose library

This is one of the necessary steps for Node.js project development. Use the npm command to install it. Enter the following command in the terminal to install:

npm install mongoose --save
Copy after login

Connecting to MongoDB

Usually when using a database, you need to establish a connection first. The connection is established in the following ways:

const mongoose = require("mongoose");

const connectDb = async () => {
    await mongoose.connect("mongodb://localhost:27017/admin");
};

connectDb();
Copy after login

In the above code , the mongoose.connect() function is used to establish a connection to MongoDB. The first parameter specifies the MongoDB connection URL, in the format mongodb://<host>:<port>/<database-name>?<options>, where &lt ;host> Specify the host name or IP address where MongoDB is located, <port>Specify the port number of MongoDB, <database-name> Specify the database to be connected The name, <options> is some configuration items, passed as parameters, such as ?useNewUrlParser=true&useUnifiedTopology=true. For databases that require username and password to connect, the <host> parameter method is username:password@127.0.0.1:27017. [Related tutorial recommendations: nodejs video tutorial, Programming teaching]

It should be noted that there are some differences in the connection methods of different versions of mongoose. The above code is It can be used normally in version 7.0.2.

Define models and schemas

When using Mongoose, you usually need to define a model and corresponding schema first. A model refers to a collection in MongoDB, and a schema specifies the structure and fields of each document in the collection. The following is a simple schema definition example:

const mongoose = require("mongoose");

const userSchema = new mongoose.Schema({
    username: {
        type: String,
        required: true,
    },
    email: {
        type: String,
        required: true,
        unique: true,
        maxlength: [255, "Email length must be at most 255"],
    },
    ip: {
        type: String,
        required: true,
    },
});

const User = mongoose.model("User", userSchema);
Copy after login

CRUD operations

After defining the model and schema, you can use the model to perform CRUD (create, read, update, delete) operations. The following are some commonly used sample codes:

const mongoose = require("mongoose");

// 创建记录
async function createUsers() {
    const result = await User.create({
        username: "Quintion",
        email: "quintiontang@gmail.com",
        ip: "127.0.0.1",
    });
    return result;
}

// 查询文档列表
async function getUsers() {
    const users = await User.find();
    return users;
}

// 查询单个
async function getUser() {
    const user = await User.find({
        username: "Quintion",
    });
    return user;
}
// 删除记录
async function deleteUser() {
    return await User.remove({
        username: "Quintion",
    });
}
Copy after login

The above code is just a simple example. If you need a complete runnable code, you can check out the following project:

react- giant: A react next.js mongodb learning project.

For more node-related knowledge, please visit: nodejs tutorial!

The above is the detailed content of Teach you step by step how to use Node to connect to mongodb. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:juejin.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!