Node.js使用mongodb操作MongoDB数据库

安装

npm i mongodb

文档给出的示例是通过回调函数操作的

这里给出async/await 操作方式,写起来会舒服很多

代码实例

const { MongoClient, ObjectId } = require('mongodb')

// 配置连接参数
const url = "mongodb://localhost:27017";
const options = { useNewUrlParser: true, useUnifiedTopology: true }


async function func() {
    // 连接数据库
    const client = await MongoClient.connect(url, options)

    // 获取库、集合
    const data = client.db("data");
    const student = data.collection("student")

    /**
     * 写操作
     */
    // 插入数据 insertOne insertMany
    const result1 = await student.insertOne(
        { 'name': "Tom", age: 23 }
    )
    console.log(result1.insertedId); 
    // 5e8afa00e473da5ac1c0a9b7

    // 更新数据 updateOne updateMany
    const result2 = await student.updateOne(
        { _id: ObjectId('5e8af9dbda2c0b5aacb9ff1c') },
        { $set: { name: "Jack" } }
    )
    console.log(result2.modifiedCount); // 1

    // 删除数据 deleteOne deleteMany
    const result3 = await student.deleteOne(
        { _id: ObjectId('5e8af9dbda2c0b5aacb9ff1c') }
    )
    console.log(result3.deletedCount); // 1

    /**
     * 读操作
     */
    // 查询数据 findOne find
    const result4 = await student.findOne(
        { 'name': "Tom" }
    )
    console.log(result4); 
    // { _id: 5e8af9e8007ee05aad2b641f, name: 'Tom', age: 23 }

    // 排序:升序(1) 降序(-1), 分页
    const result5 = await student.find(
        { 'name': "Tom" }
    ).skip(2).limit(2).sort({ age: -1 }).toArray()
    console.log(result5);
    // [ 
    //   { _id: 5e8afa00e473da5ac1c0a9b7, name: 'Tom', age: 23 },
    //   { _id: 5e8afaab247c7c5b0530143e, name: 'Tom', age: 23 } 
    // ]

    // 关闭连接
    client.close()
}


func()

参考

Node.js 连接 MongoDB

上一篇:《动手搭建智能家居系统》——2.3 控制网络


下一篇:socket编程:SO_REUSEADDR例解