zoukankan      html  css  js  c++  java
  • python | 基于mongoose 的增删改查操作

    无论是基于robomongo 的可视化工具,亦或是基于 mongoose 的函数工具,只要是对 mongodb 的操作,第一步都是开启数据库。
    
    开启mongodb 数据库
    进入mongod所在目录 执行命令 ./mongod --dbpath=存放数据的位置
    例1:./mongod --dbpath d:MongoDBdb
    例2:./mongod --dbpath d:MongoDBdb --port 自定义端口号,默认27017(了解即可,不推荐使用,修改默认端口号后期维护麻烦)
    新增数据
    let mongoose = require('mongoose');
    let log = console.log.bind(console);
    let db = null;
    let Schema = mongoose.Schema;
    
    // 链接数据库
    mongoose.connect('mongodb://localhost/fay');
    
    db = mongoose.connection;
    
    db.on('error', console.error.bind(console, 'connection error:'))
    
    db.once('open', (cb) => {
        // 设置数据库类型
        let PersonSchema = new Schema({
            name: {
                type: 'String',
                required: true
            },
            age: {
                type: 'Number',
                retuired: true
            }
        });
    
        // 新建集合(如存在该集合,就选中)
        let PersonModel = db.model('person', PersonSchema);
    
        // 需要保存的数据
        let data =  {
            age: 50,
            name: 'leno'
        };
    
        // 实例化集合并插入数据
        let personEntity = new PersonModel(data);
    
        //  保存实例
        personEntity.save((err, res) => {
            if(err) return log(err);
            db.close();
        });
    })
    删除数据
    
    let mongoose = require('mongoose');
    let log = console.log.bind(console);
    let db = null;
    let Schema = mongoose.Schema;
    
    // 链接数据库
    mongoose.connect('mongodb://localhost/fay');
    
    db = mongoose.connection;
    
    db.on('error', console.error.bind(console, 'connection error:'))
    
    db.once('open', (cb) => {
        // 设置数据库类型
        let PersonSchema = new Schema({
            name: {
                type: 'String',
                required: true
            },
            age: {
                type: 'Number',
                retuired: true
            }
        });
    
        // 选择集合(如不存在该集合,就新建)
        let PersonModel = db.model('person', PersonSchema);
    
        // 删除的条件
        let del = {name: 'leno'};
    
        // 删除命令
        PersonModel.remove(del, (err, res) => {
            if(err) throw new Error(err);
    
            log(res);
            db.close();
        })
        
    });
    修改数据
    let mongoose = require('mongoose');
    let log = console.log.bind(console);
    let db = null;
    let Schema = mongoose.Schema;
    
    // 链接数据库
    mongoose.connect('mongodb://localhost/fay');
    
    db = mongoose.connection;
    
    db.on('error', console.error.bind(console, 'connection error:'))
    
    db.once('open', (cb) => {
        // 设置数据库类型
        let PersonSchema = new Schema({
            name: {
                type: 'String',
                required: true
            },
            age: {
                type: 'Number',
                retuired: true
            }
        });
    
        // 选择集合(如不存在该集合,就新建)
        let PersonModel = db.model('person', PersonSchema);
    
        // 旧数据
        let oldVal = {name: 'leno'};
    
        // 新数据
        let newVal = {name: 'liao'};
        // 多个新数据
        let newVal2 = {name: 'liao', age: '25'};
    
        // 修改(更新)命令
        PersonModel.update(oldVal, newVal, (err, res) => {
            if(err) throw new Error(err);
    
            log(res);
            db.close();
        });
    })
    查询数据
    let mongoose = require('mongoose');
    let log = console.log.bind(console);
    let db = null;
    let Schema = mongoose.Schema;
    
    // 链接数据库
    mongoose.connect('mongodb://localhost/fay');
    
    db = mongoose.connection;
    
    db.on('error', console.error.bind(console, 'connection error:'))
    
    db.once('open', (cb) => {
        // 设置数据库类型
        let PersonSchema = new Schema({
            name: {
                type: 'String',
                required: true
            },
            age: {
                type: 'Number',
                retuired: true
            }
        });
    
        // 选择集合(如不存在该集合,就新建)
        let PersonModel = db.model('person', PersonSchema);
    
        // 查询条件
        let sql = {name: 'liao'};
    
        // 查询命令
        PersonModel.find(sql, (err, res) => {
            if(err) throw new Error(err);
    
            log(res);
            db.close();
        });
    });
    追加字段
    在已存在的集合中,添加新的字段。schema.add()
    

      

  • 相关阅读:
    BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]
    [莫比乌斯反演]【学习笔记】[旧]
    BZOJ 3289: Mato的文件管理[莫队算法 树状数组]
    BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
    Waiting for possible shutdown message on port 4445
    linux对文件赋权限的命令chmod的详细说明
    查看防火墙状态
    Jmeter分布式测试的各种坑之jmeter-server修改ip
    linux服务器查看公网IP信息的方法
    jmeter-server中启动后端口总是不断在变化
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/12131471.html
Copyright © 2011-2022 走看看