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);
});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,038评论 2 89
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 是什么吸引了我呢? 是那双眼皮下大大眼睛? 是那调皮可爱的样子? 是那偶尔甜甜的笑容? 是那份轻松的自由自在? 而...
    月明星稀阅读 667评论 0 50
  • 一周前还觉得五公里是个遥不可及的距离,今天自己已经坚持跑了四个五公里! 还记得自己跑第一个五公里的情景,跑前心中忐...
    木子晨星阅读 224评论 0 0
  • 沧海横流,斗转星移。转眼我已经在内师一载。在今年,我有幸见证了内师六十岁生辰。 六十年前,你蹒跚学步。开始了...
    妮维雅叶阅读 222评论 0 0