创建连接 使用的工具为mongoose
// connection.js file
const mongoose = require('mongoose');
const conn = mongoose.createConnection(
'mongodb://127.0.0.1:27017/web3_data',
{
useNewUrlParser: true,
useUnifiedTopology: true
}
)
conn.on('open', () => {
console.log('打开 mongodb 连接');
})
conn.on('err', (err) => {
console.log('err:' + err);
})
module.exports = conn; //commonJs 语法,导出conn模块。
使用MongoDB
// 引入mongoose
const mongoose = require('mongoose');
// 引入mongodb的connection
const connection = require('./mongoDB/connection');
// 创建schema
const TokenAbiSchema = new mongoose.Schema({
token_address: String,
abi: String
})
// 通过connection和schema创建model
const TokenAbiModel = connection.model('token_abi', TokenAbiSchema);
token_abi为集合的名字,在MongoDB中会存储为token_abis
查询数据
// 创建mongodb的查询过滤器
const filter = { token_address: token_address };
// 从mongodb中查找token的abi数据
res = await TokenAbiModel.findOne(filter);
插入数据
// 生成document,内容要和定义的Schema保持一致
const tokenAbiToSave = new TokenAbiModel({
token_address: token_address,
abi: etherscanResult.data.result
});
// 将token对应的abi数据存入mongodb
可以重写_id和_v,但是需要保证_id不会重复