Nodejs连接MongoDB

mongoose是用于连接和操作数据库的第三方模块;

安装MongoDB模块

npm install mongoose --save

导入模块

var mongoose = require("mongoose");

连接数据库 connect连接:

1. 数据库的链接地址,mongodb://代表数据库自身的地址协议

2. 端口27017可以在数据库安装文件里面更改mongo.conf

3. mongoOne代表数据库名称,假如数据库存在,直接连接  如果数据库不存在先创建后连接

mongoose.connect("mongodb://127.0.0.1:27017/mongoOne", {
    useNewUrlParser: true,
    useCreateIndex: true,
    useUnifiedTopology: true,
    useFindAndModify: false
}, function (err) {
    if (err) {
        console.log("数据库连接出错了" + err);

    } else {
        console.log("数据库连接成功");

    }
});

 建表  mongoose.Schema是数据库对象下面的建表函数,传递对象(可以根据对象来建表)

var peopleSchema = new mongoose.Schema({
    name: String,
    age: Number
});

根据表结构的描述,告诉数据库对象根据该结构生成一个表

model就是制作一张表 第一个参数是表名  第二个参数是结构

函数会返回当前构建的数据库表对象

var People = mongoose.model("people", peopleSchema);

People表对象,一切的增删改查都需要通过People来完成

People()构造函数,是 上面表对象提供的

var p1 = new People({
    // 对象的数据类型一定要和表结构的相同
    name: "孙悟空",
    age: 999
});

save保存数据  该方法是people对象提供:把对象存入到数据库表中

var p2 = new People({
    name: "唐僧",
    age: 66
}).save();

查询,插入的数据在mongodb客户端上可以直接查询,但是nodejs查询需要等到下次启动才可以

表的查询和mongodb命令一样,只不过最后多了个回调,第一个参数是此次查询如果出错的对象,第二个 是此次查询的数据

升序

People.find(function(err,data){
    if (err) {
        console.log(err);

    } else {
        console.log(data);
    }
}).sort({age:1});

可以精准查询数量

People.count(function (err, count) {
    if (!err) {
        console.log("当前表中数据数:" + count);
    }
});

删除

People.remove({age: 66}, function (err){
    console.log("删除成功");  
});

更新

People.update({ age: 666}, {age: 100}, {multi: true}, function (err) {
    if (err) {
        console.log("更新出错:" + err);
    } else {
        console.log("更新成功");

    }
});

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值