IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 学习MongoDB过程中写过的代码文件 -> 正文阅读

[大数据]学习MongoDB过程中写过的代码文件

是跟随尚硅谷的李立超老师学习的MongoDB
李立超老师MongoDB学习视频
下面把写过的代码文件放到上面,学习的小伙伴可以参考
在这里插入图片描述
01.helloMongoose.js


/**
 * 1.下载安装Mongoose
 *      npm i mongoose --save
 * 2.在项目中引入mongoose
 *      var mongoose = require("mongoose");
 * 3.连接MongoDB数据库
 *      mongoose.connect('mongodb://数据库的ip端口号/数据库名',{useMongoClient:true});
 *        如果端口号为默认端口号(27017)则可以省略不写
 * 4.断开数据库连接(一般不需要调用)
 *      -MongoDB数据库,一般情况下,只需要连接一次,除非服务器停止,否则连接一般不会自动断开
 *      mongoose.disconnect()
 *
 *      -监听MongoDB数据库的连接状态
 *          -在mongoose对象中,有一个属性叫做connection,该对象表示数据库连接
 *              通过监视该对象的状态,可以来监听数据库的连接与断开
 *
 *              数据库连接成功的事件
 *              mongoose.connection.once("open",function(){});
 *
 *              数据库断开事件
 *              mongoose.connection.once("close",function);
 *
 *              Schema
 *              Model
 *              Document
 */

/*
* 引入
* */
var mongoose = require("mongoose");
//连接数据库
mongoose.connect("mongodb://127.0.0.1/mongoose_test",);

mongoose.connection.once("open",function(){
    console.log("数据库连接成功!!!");
});

mongoose.connection.once("close",function(){
    console.log("数据库连接断开!!!");
});

//断开数据库连接
mongoose.disconnect();

02.mongoose_demo.js

var mongoose =require("mongoose");
mongoose.connect("mongodb://127.0.0.1/mongoose_test");
mongoose.connection.once("open",function(){
    console.log("数据库连接成功!!!")
});

//将mongoose.Schema赋值给一个变量
var Schema = mongoose.Schema;

//创建Schema(模式)对象
var stuSchema = new Schema({
    name:String,
    age:Number,
    gender:{
        type:String,
        default:"female"
    },
    address:String
});

//通过Schema来创建Model
//Model代表的是数据库中的集合,通过Model才能对数据库进行操作
//mongoose.model(modelNmae,schema):
//modelName就是要映射的集合名字,mongoose会自动将集合名字变成复数
var StuModel = mongoose.model("student",stuSchema);

//向数据库中插入一个文档
//StuModel。create(doc,function(err){});
StuModel.create({
    name:"白骨精",
    age:16,

    address:"白骨洞"
},function(err){
    if(!err){
        console.log("插入成功~~~");
    }
    });


03.model.js

var mongoose =require("mongoose");
mongoose.connect("mongodb://127.0.0.1/mongoose_test");
mongoose.connection.once("open",function(){
    console.log("数据库连接成功!!!")
});

//将mongoose.Schema赋值给一个变量
var Schema = mongoose.Schema;

//创建Schema(模式)对象
var stuSchema = new Schema({
    name:String,
    age:Number,
    gender:{
        type:String,
        default:"female"
    },
    address:String
});

//通过Schema来创建Model
//Model代表的是数据库中的集合,通过Model才能对数据库进行操作
//mongoose.model(modelNmae,schema):
//modelName就是要映射的集合名字,mongoose会自动将集合名字变成复数
var StuModel = mongoose.model("student",stuSchema);

/*
*   -有了Model,我们就可以对数据库进行增删改查的操作了
*
*   Model.create(doc(s),[callback])
*   -用来创建一个文档或多个文档并添加到数据库中
*   -参数:
*       doc(s)可以是一个文档对象,也可以是一个文档对象的数组
*          callback 当操作完成以后,调用的回调函数
*
*       查询
*          Model.find(conditions,[projection],[options],[callback])
*              -查询所有符合条件的文档
*          Model.findById(id,[projection],[options],[callback])
*              -根据文档的id查询文档
*          Model.findOne([conditions],[projection],[options],[callback])
*              -查询符合条件的第一个文档,总会返回一个具体的文档
*
*           conditions 查询的条件
*           projecton 投影
*           options 查询选项(skip limit)
*           callback 回调函数,查询结果会通过回调函数返回
*               回调函数必须传,如果不传回调函数,压根不会查询
*
* */

// StuModel.find({name:"唐僧"},function(err,docs){
//     if(!err){
//        console.log(docs);
//     }
// });


//查询所有
// StuModel.find({},function(err,docs){
//     if(!err){
//         console.log(docs);
//     }
// });

//设置条件      "name age" 只显示这个    skip:3  跳过三个   limit:1  只显示1个
// StuModel.find({},"name age",{skip:3,limit:1},function(err,docs){
//     if(!err){
//         console.log(docs);
//     }
// });

//findOne 总会返回一个具体的文档对象
// StuModel.findOne({},function(err,docs){
//     if(!err){
//         console.log(docs);
//     }
// });


//findById
// StuModel.findById("626b585a73d464760fa92391",function(err,doc){
//     if(!err){
//         //console.log(docs);
//         //通过find()查询的结果,返回的对象,就是Document,文档对象
//         //Document对象是Model的实例
//         console.log(doc instanceof StuModel);
//     }
// });



// StuModel.create([
//     {
//         name:"沙和尚",
//         age:38,
//         gender:"male",
//         address:"就沙河"
//     }
// ],function(err){
//     if(!err){
//     console.log(arguments);
//     }
//     });

/*
*   修改
* Model.update(conditions,doc,[options],[callback])
* Model.updateMany(conditions,doc,[options],[callback])
* Model.updateOne(conditons,doc,[options],[callback])
*   -用来修改一个或多个文档
*   -参数:
*       conditions 查询对象
*       doc 修改后的对象
*       options 配置参数
*       callback 回调函数
* Model.replaceOne(conditions,doc,[options],[callback])
* */


// //修改唐僧年龄为20
// StuModel.updateOne({name:"唐僧"},{$set:{age:20}},function (err){
//     if(!err){
//         console.log("修改成功");
//     }
// })

/*
* 删除
* Model.remove(conditions,[callback])
* Model.deleteOne(conditions,[callback])
* Model.deleteMany(conditions,[callback])
* */

// StuModel.remove({name:"白骨精"},function(err){
//     if(!err){
//         console.log("删除成功");
//     }
// });


/*
* Model.count(conditions,[callback])
*   -统计文档的数量
* */
// StuModel.count({},function(err,count){
//     if(!err){
//         console.log(count);
//     }
// });
//

04.document.js

var mongoose =require("mongoose");
mongoose.connect("mongodb://127.0.0.1/mongoose_test");
mongoose.connection.once("open",function(){
    console.log("数据库连接成功!!!")
});

//将mongoose.Schema赋值给一个变量
var Schema = mongoose.Schema;

//创建Schema(模式)对象
var stuSchema = new Schema({
    name:String,
    age:Number,
    gender:{
        type:String,
        default:"female"
    },
    address:String
});

//通过Schema来创建Model
//Model代表的是数据库中的集合,通过Model才能对数据库进行操作
//mongoose.model(modelNmae,schema):
//modelName就是要映射的集合名字,mongoose会自动将集合名字变成复数
var StuModel = mongoose.model("student",stuSchema);



/*
*   Document和集合中的文档一一对应,Document是Model的实例
*       通过Model查询到结果都是Document
* */

//创建一个Document

var stu = new StuModel({
    name:"奔波霸",
    age:48,
    gender:"male",
    address:"碧波潭"
});


/*
*  document的方法
*       Model#save([options],[fn])
* */
// stu.save = function (err) {
//     if(!err){
//         console.log("保存成功");
//     }
// };

StuModel.findOne({},function (err,doc) {
    if (!err) {
        /*
        *
        * update(update,[options],[callback])
        *   -修改对象
        * remove([callback])
        * */
        // console.log(doc);

        // doc.update({$set: {age: 28}}, function (err) {
        //     if (!err) {
        //         console.log("修改成功!!!");
        //     }
        // });

        // doc.age= 18;
        // doc.save();

        // doc.remove(function(err){
        //     if(!err){
        //         console.log("大师兄再见~~~");
        //     }
        // })

        /*
        *   get(name)
        *       -获取文档中的指定属性值
        *   set(name,value)
        *       -设置文档的指定属性值
        *   id
        *       -获取文档的_id属性值
        *   toJSON()
        *       -转换为一个JSON对象
        *   toObject()
        *   -将Document对象转换为一个普通的JS对象
        *       转换为普通的js对象以后,注意所有的Document对象的方法或者属性都不能使用了
        * */
       // console.log(doc.get("name"));
       // console.log(doc.get("name"));

        //doc.set("name","朱筱筱");
        //doc.name = "hhh";
        // console.log(doc.id);

        // console.log(doc._id);
        // var j= doc.toJSON();
        // console.log(j);

        //var o = doc.toObject();
        //console.log(o);
        // console.log(doc);

        // var o = doc.toObject();

        // delete doc.address;

        // console.log(doc);


        doc = doc.toObject();

        delete doc.address;

        console.log(doc._id);
    }
});

05.index.js

require("./tools/conn_mongo");
var student = require("./models/student").model;

//console.log(student);

student.find({},function(err,docs){
    if(!err){
        console.log(docs);
    }
});

student.js

/*
*   用来定义student的模型
* */

var mongoose = require("mongoose");

var Schema = mongoose.Schema;

var stuSchema = new Schema({
    name:String,
    age:Number,
    gender:{
        type:String,
        default:"female"
    },
    address:String

});

//定义模型
var stuModel = mongoose.model("student",stuSchema);

exports.model = stuModel;
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-04 07:28:20  更:2022-05-04 07:28:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:00:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码