Nodejs Mongoose Guide

Nodejs Mongoose Guide

好资源, 标记 https://github.com/cnodejs/nodeclub/wiki/CNode-论坛精华

6 回复

Nodejs Mongoose Guide

Mongoose 是一个对象建模工具,用于简化 MongoDB 数据库的交互。它基于 Node.js 的核心 mongodb 驱动程序,并提供了丰富的功能来处理数据模型、验证、中间件等。

安装 Mongoose

首先,你需要安装 Mongoose:

npm install mongoose

基本使用

以下是一个简单的例子,展示如何定义一个用户模型并进行基本的 CRUD 操作。

定义模型
const mongoose = require('mongoose');

// 连接到 MongoDB
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true, useUnifiedTopology: true });

// 定义一个 Schema
const userSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    age: {
        type: Number,
        min: 18,
        max: 100
    },
    email: {
        type: String,
        unique: true,
        lowercase: true,
        trim: true
    }
});

// 创建 Model
const User = mongoose.model('User', userSchema);

// 使用 Model
async function createUser() {
    const newUser = new User({
        name: 'John Doe',
        age: 25,
        email: 'john.doe@example.com'
    });

    try {
        await newUser.save();
        console.log('User created successfully');
    } catch (error) {
        console.error(error);
    }
}

createUser();
查询数据
async function getUserByEmail(email) {
    try {
        const user = await User.findOne({ email });
        if (user) {
            console.log('User found:', user);
        } else {
            console.log('No user found with this email.');
        }
    } catch (error) {
        console.error(error);
    }
}

getUserByEmail('john.doe@example.com');
更新数据
async function updateUser(email, updatedData) {
    try {
        const result = await User.updateOne({ email }, { $set: updatedData });
        console.log('User updated:', result.modifiedCount);
    } catch (error) {
        console.error(error);
    }
}

updateUser('john.doe@example.com', { name: 'Jane Doe' });
删除数据
async function deleteUser(email) {
    try {
        const result = await User.deleteOne({ email });
        console.log('User deleted:', result.deletedCount);
    } catch (error) {
        console.error(error);
    }
}

deleteUser('john.doe@example.com');

总结

通过上述示例,你可以看到 Mongoose 简化了与 MongoDB 交互的过程。它提供了强大的验证、中间件等功能,使你能够更方便地管理数据模型。希望这篇指南能帮助你快速上手 Mongoose!


好文章~~~~

不错,复习了一遍

感谢分享🙏

对于“Nodejs Mongoose Guide”这个帖子,我们可以从以下几个方面来提供一个简洁而全面的指南,帮助开发者更好地理解和使用Mongoose:

1. 安装Mongoose

首先,你需要安装Mongoose。如果你还没有安装Node.js和npm,你需要先安装它们。

npm install mongoose

2. 连接到MongoDB

创建一个新的文件,例如index.js,并添加以下代码以连接到MongoDB数据库:

const mongoose = require('mongoose');

async function connect() {
    try {
        await mongoose.connect('mongodb://localhost:27017/mydatabase', {
            useNewUrlParser: true,
            useUnifiedTopology: true,
        });
        console.log("Connected to MongoDB");
    } catch (error) {
        console.error("Failed to connect to MongoDB", error);
    }
}

connect();

这段代码将连接到本地运行的MongoDB服务器上的名为mydatabase的数据库。

3. 创建Schema

接下来,定义一个Schema来描述文档结构:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const userSchema = new Schema({
    name: String,
    email: { type: String, unique: true },
    age: Number,
    created_at: Date,
});

const User = mongoose.model('User', userSchema);

这段代码定义了一个用户模型,包含nameemailagecreated_at字段。

4. 操作数据

最后,我们可以在index.js中添加一些CRUD(创建、读取、更新、删除)操作的示例:

async function create() {
    const newUser = new User({ name: 'Alice', email: 'alice@example.com', age: 25, created_at: new Date() });
    await newUser.save();
    console.log('User created:', newUser);
}

async function read() {
    const users = await User.find();
    console.log('Users found:', users);
}

// create();
// read();

以上就是使用Mongoose的基本指南,包括安装、连接、定义Schema以及执行基本的数据操作。希望这能帮助你更好地开始使用Mongoose。

回到顶部