zoukankan      html  css  js  c++  java
  • Node js 如何使用 Mongodb

    官方文档: https://mongoosejs.com/docs/index.html

    安装

    npm install mongoose --save
    

    基本使用

    // 1. 引入包
    const mongoose = require("mongoose");
    
    // 2. 连接数据库
    mongoose.connect('mongodb://127.0.0.1/test_db');
    
    // 3. 获取数据库连接对象
    const connection = mongoose.connection;
    
    /**
     *  4. 监听数据库状态
    **/
    
    // 监听数据库的连接的打开和关闭
    connection.once("open", () => {
        console.log("数据库连接成功");
    });
    connection.once("close", () => {
        console.log("数据库已经关闭连接");
    });
    
    // 监听数据库错误
    connection.on("error", error => {
        console.log("数据库错误|Database error:" + error);
    });
    
    // 5. 创建Schema(模式对象) 类似于SQL中的设计表字段约束(此处的Schema注意大写)
    let userSchema = new mongoose.Schema({
        name : String,
        age: Number,
        sex: {
            type: String,
            default: "男"
        },
        height: Number
    });
    
    // 6. 创建model对象 model("collectionName", "documents")
    // 注意: 此处的 collectionName会自动转换为复数形式
    let userModel = mongoose.model("users", catSchema);
     
    // 7. 插入一条数据到 users 这个集合中
    userModel.create({ name : "zs", age: 18, height: 172 }, error => {
        if (error) throw error;
        console.log("插入成功");
    });
    

    插入数据

    // 插入一条数据
    userModel.create([ { name : "zs", age: 18, height: 172 } ], error => {
        if (error) throw error;
        console.log("插入成功");
    });
    
    // 一次插入多个数据
    userModel.create([
        { name : "zs", age: 18, height: 172 },
        { name : "ls", age: 20, height: 176 },
        { name : "wc", age: 28, height: 178 },
        { name : "ml", age: 32, height: 168 }
    ], error => {
        if (error) throw error;
        console.log("插入成功");
    });
    

    删除数据

    userModel.remove({name: 'ml'}, error => {
        if (error) throw error;
        console.log("删除成功");
    });
    

    修改数据

    userModel.update({'name' : 'zs'}, { $set: {height: 182} }, error => {
        if (error) throw error;
        console.log("修改成功");
    });
    

    查询数据

    • 简单使用
    // 带条件条件的查询
    userModel.find({name: 'zs'}, (error, docs) => {
        if (error) throw error;
        console.log(docs);
    });
    
    • 查询数据,限制显示字段并且跳过前两个显示一个
    // db.users.find({}, {_id:0, __v:0}).skip(2).limit(1);
    userModel.find( {}, {  _id: 0, __v:0 }, { skip:2, limit: 1 }, (error, docs) => {
        if (error) throw err;
        console.log(docs);
    });
    
    
  • 相关阅读:
    全国疫情可视化地图(第三阶段)
    全国疫情可视化地图(第二阶段)
    JAVAWEB调用数据库显示图形化显示
    全国疫情可视化地图(第一阶段)
    第二周学习总结
    个人介绍及目前现状
    循环列表下练习循环子数组
    构建之法读书笔记(三)
    构建之法读书笔记(二)
    变叶木
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581629.html
Copyright © 2011-2022 走看看