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());
    }
});
原文地址:https://www.cnblogs.com/zhangzhengyang/p/11147488.html