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);
    });
    
    
  • 相关阅读:
    Do You See Me? Ethical Considerations of the Homeless
    ELDER HOMELESSNESS WHY IS THIS AN ISSUE?
    Endoflife support is lacking for homeless people
    html内联框架
    html字体
    html块 div span
    html列表
    html表格
    SQL Server管理员专用连接的使用   作为一名DBA,经常会处理一些比较棘手的服务无响应问题,鉴于事态的严重性,多数DBA可能直接用“重启”大法,以便尽快的恢复生产环境的正常运转,但是多数情况
    如何配置最大工作线程数 (SQL Server Management Studio)
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581629.html
Copyright © 2011-2022 走看看