zoukankan      html  css  js  c++  java
  • mongoose数据库操作

     1 const mongoose = require('mongoose');
     2 // 1. 连接数据库
     3 mongoose.connect('mongodb://localhost:27017/m_data', {useNewUrlParser: true});
     4 mongoose.connection.on('open', ()=>{
     5     console.log('数据库连接成功!');
     6 });
     7 // 2. 监听数据库的各种状态
     8 let db = mongoose.connection;
     9 
    10 // 3. 监听
    11 // 3.1 连接成功
    12 db.on('open', ()=>{
    13     console.log('数据库连接成功!');
    14 });
    15 
    16 // 3.2 连接失败
    17 db.on('error', ()=>{
    18     console.log('数据库连接失败!');
    19 });
    20 
    21 // 3.3 断开连接
    22 db.on('close', ()=>{
    23     console.log('数据库断开连接!');
    24 });
     1 const mongoose = require('mongoose');
     2 mongoose.connect('mongodb://localhost:27017/m_data', {useNewUrlParser: true});
     3 mongoose.connection.on('open', ()=>{
     4     console.log('数据库连接成功!');
     5 });
     6 
     7 // 2. 创建模式对象
     8 let Schema = mongoose.Schema;
     9 let personSchema = new Schema({
    10     name: String,
    11     age: Number,
    12     chat: String,
    13     sex: {
    14         type: String,
    15         default: '男'
    16     }
    17 });
    18 
    19 // 3. 创建Model集合对象
    20 let personModel = mongoose.model('person', personSchema);
    21 
    22 // 4. 往集合中插入文档
    23 /*
    24 personModel.create({
    25     name: '小撩',
    26     age: 25,
    27     chat: 'itlike001',
    28     sex: '男'
    29 }).then((data)=>{
    30     console.log(data);
    31 }).catch((err)=>{
    32     console.log(err);
    33 });
    34 */
    35 
    36 /*
    37 personModel.create({
    38     name: '谢霆锋',
    39     age: 39,
    40     chat: 'xtf1990',
    41     sex: '男'
    42 }).then((data)=>{
    43     console.log(data);
    44 }).catch((err)=>{
    45     console.log(err);
    46 });
    47 */
    48 
    49 personModel.create([
    50     {name: '王菲', age: 49, chat: 'xtf1990', sex: '女'},
    51     {name: '李宇春', age: 29, chat: 'lyc', sex: '女'},
    52     {name: '周杰伦', age: 36, chat: 'zjl'},
    53     {name: '宋小宝', age: 50, chat: 'sxb'},
    54     {name: '赵薇', age: 60, chat: 'zw', sex: '女'},
    55 ]).then((data)=>{
    56     console.log(data);
    57 }).catch((err)=>{
    58     console.log(err);
    59 });
    const mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost:27017/m_data', {useNewUrlParser: true});
    mongoose.connection.on('open', ()=>{
        console.log('数据库连接成功!');
    });
    
    // 2. 创建模式对象
    let Schema = mongoose.Schema;
    let personSchema = new Schema({
        name: String,
        age: Number,
        chat: String,
        sex: {
            type: String,
            default: '男'
        }
    });
    
    // 3. 创建Model集合对象
    let personModel = mongoose.model('person', personSchema);
    
    // 4. CRUD
    // 4.1 增加
    /*personModel.insertMany([
        {name: '王菲', age: 49, chat: 'xtf1990', sex: '女'},
        {name: '李宇春', age: 29, chat: 'lyc', sex: '女'},
        {name: '周杰伦', age: 36, chat: 'zjl'},
        {name: '宋小宝', age: 50, chat: 'sxb'},
        {name: '赵薇', age: 60, chat: 'zw', sex: '女'},
    ]).then((data)=>{
        console.log(data);
    }).catch((err)=>{
        console.log(err);
    });*/
    
    // 4.2 查
    /*personModel.find({}, (err, docs)=>{
        if(!err){
            console.log(docs[0]);
            console.log(typeof docs);
        }
    });*/
    
    /*personModel.findOne({name: '周杰伦'}, (err, docs)=>{
        if(!err){
            console.log(docs);
        }
    });*/
    
    /*personModel.find({},{name:1, _id:0, chat:1},(err, docs)=>{
        1需要展示 0不需要展示  没写的默认不查找
        if(!err){
            console.log(docs);
        }else {
            console.log(err);
        }
    });*/
    
    /*personModel.find({}, "-_id name", {skip: 3, limit: 2},(err, docs)=>{
        //-_id  不显示
        if(!err){
            console.log(docs);
        }else {
            console.log(err);
        }
    });*/
    
    // 4.3 修改
    /*personModel.updateOne({name: '王菲'}, {$set: {age: 50}}, (err)=>{
        if(!err){
            console.log('修改成功!');
        }else {
            throw err;
        }
    });*/
    
    /*
    personModel.updateMany({name: '周杰伦'}, {$set: {age: 20, chat: '我要学IT'}}, (err)=>{
        if(!err){
            console.log('修改成功!');
        }else {
            throw err;
        }
    });
    */
    
    // 4.4 删除
    /*personModel.remove({name: '宋小宝'}, (err)=>{
        if(err) throw err;
        console.log('删除成功!');
    });*/
    
    /*personModel.deleteOne({name: '王菲'}, (err)=>{
        if(err) throw err;
        console.log('删除成功!');
    });*/
    
    /*
    personModel.deleteMany({}, (err)=>{
        if(err) throw err;
        console.log('删除成功!');
    });
    */
    
    personModel.countDocuments({}, (err, count)=>{
        console.log(count);  //统计文档的个数
    });

     get set的方法 与之前的方法相似(但是对查询出来的数据进行操作)

    const mongoose = require('mongoose');
    mongoose.connect('mongodb://localhost:27017/m_data', {useNewUrlParser: true});
    mongoose.connection.on('open', ()=>{
        console.log('数据库连接成功!');
    });
    
    // 2. 创建模式对象
    let Schema = mongoose.Schema;
    let personSchema = new Schema({
        name: String,
        age: Number,
        chat: String,
        sex: {
            type: String,
            default: '男'
        }
    });
    
    // 3. 创建Model集合对象
    let personModel = mongoose.model('person', personSchema);
    
    personModel.findOne({}, (err, docs)=>{
        if(!err){
           /* console.log(docs.get('sex'));
            console.log(docs.set('sex', '男'));*/
            console.log(docs.toJSON());
        }
    });
  • 相关阅读:
    sublime text 3 常用快捷键
    PHP注释-----PHPDOC
    正则表达式
    JavaScript中常用的函数
    网站特效离不开脚本,javascript是最常用的脚本语言,我们归纳一下常用的基础函数和语法:
    ubuntu16.04LTS下安装zookeeper
    HiveQL详解
    ubuntu16.04LTS下安装hive-2.1.0
    Hadoop环境 IDE配置(在eclipse中安装hadoop-eclipse-plugin-2.7.3.jar插件)
    Hadoop 数据节点DataNode异常
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11147488.html
Copyright © 2011-2022 走看看