mongoose连接MongoDB数据库(Node实现)

首先需要在MongoDB中新建一个文档,用来保存你的数据。

介绍一下mongoose中的常用属性

 

现在来创建 操作数据库的文件

文件目录

首先使用 cnpm install mongoose 安装

完成以后直接在connectMongoDB文件中引入,其中connect中填写你的数据库中的文档。

//连接数据库
var mongoose = require("mongoose");

mongoose.connect('mongodb://localhost/MongoTest_01');

let db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
    console.log("连接数据库成功!");
});

 

mySchema.js文件

再次引入mongoose,然后new一个Schema对象,用来定义操作的数据格式,通过 mongoose.connection.model函数,传入你的数据库集合与上面定义好的数据格式进行映射,生成model对象(此对象可进行数据库操作),将其抛出,在handle.js执行增删查改数据库的逻辑。

let mongoose = require('mongoose')

var TestSchema = new mongoose.Schema({
    stock_name: {
        type: String
    },
    list_market: {
        type: String
    }
});
var TestModel = mongoose.connection.model("testdatacollections", TestSchema); //填写你的数据库 集合(复数形式)

module.exports = TestModel;

注意!

mongoose对操作的集合会自动进行复数形式的转换,所以每个集合名称请用复数形式(普通的后缀加 s 即可)

官方解释

当没有传入collection参数时,Mongoose会通过model name(就是第一个参数),调用utils.toCollectionName方法产生一个collection name,而这个方法会使name变成复数形式。如果你不想要这个过程,只要传入collection name参数或设置Schema中的collection name选项。(=_=看不懂)

handle.js文件

为了实现增删查改等多个操作函数,使用一个handleObj对象包裹起来,通过传入的model对象,传入自己的数据,生成一个Entity对象,通过这个entity对象,实现数据库的增删查改操作(对应的save()、remove()、update()等,参照 Mongoose API函数使用)。最后将函数对象的集合handleObj抛出去,在需要使用的地方调用,并可自定义参数作为传入的数据,对数据库进行操作即可。

let TestModel = require('./mySchema');

let handleObj ={
    insertData:insertData,//增加函数
    selectData:selectData//查找函数
}

function insertData() {
    var TestEntity = new TestModel({
        stock_name: '计科',
        list_market: '广州'
    });
    TestEntity.save(function (err, doc) {
        if (err) {
            console.log("error :" + err);
        } else {
            console.log("插入数据成功");
        }
    });
}

function selectData(){
    console.log("执行查找操作");
}

module.exports = handleObj;

这里假设了在路由改变的时候执行数据库的操作。

效果

Mongoose5.0中文文档

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装mongoose 在命令行中执行以下命令: ``` npm install mongoose ``` 2. 连接数据库Node.js中使用mongoose连接数据库需要先引入mongoose模块: ```javascript const mongoose = require('mongoose') ``` 接着使用mongoose.connect()方法连接数据库: ```javascript mongoose.connect('mongodb://localhost:27017/databaseName', { useNewUrlParser: true }) ``` 其中,mongodb://localhost:27017/databaseName是连接数据库的URL,其中localhost为数据库服务器地址,27017为MongoDB的默认端口号,databaseName为要连接数据库名称。 { useNewUrlParser: true }是Mongoose的一个选项,以允许在连接时使用新的URL字符串解析器。 3. 定义Schema和Model 在使用mongoose之前,需要先定义Schema和Model。Schema是用来定义数据结构的,Model是由Schema生成的实例。 ```javascript const Schema = mongoose.Schema const userSchema = new Schema({ username: String, password: String, email: String }) const User = mongoose.model('User', userSchema) ``` 以上代码定义了一个名为User的Model,该Model对应的Schema定义了三个属性:username、password和email。 4. CRUD操作 通过定义好的Model可以进行CRUD操作。以下是一些常用的操作: - 新增数据 ```javascript const user = new User({ username: 'Tom', password: '123456', email: 'tom@example.com' }) user.save(function (err, user) { if (err) return console.error(err) console.log(user.username + ' saved to database.') }) ``` - 查询数据 ```javascript User.find(function (err, users) { if (err) return console.error(err) console.log(users) }) ``` - 更新数据 ```javascript User.findOneAndUpdate({ username: 'Tom' }, { password: '654321' }, function (err, user) { if (err) return console.error(err) console.log(user) }) ``` - 删除数据 ```javascript User.deleteOne({ username: 'Tom' }, function (err) { if (err) return console.error(err) console.log('User deleted.') }) ``` 以上代码演示了如何使用mongoose连接MongoDB数据库,并进行CRUD操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值