所以,我要从区块链中获取数据,并在updateProgress()中的模型中设置该数据,只要区块链中发生任何变化,我都会调用我的updateProgress()并在模型中设置数据然后保存。
但是这里用于将数据保存到mongodb,因为您可以看到我已将passdata从updateProgress()传递给mongodb.connect(),并且我的数据库对象仅被调用一次,因此当区块链更改时updateProgress()正在调用,但数据未保存。
所以,我如何在mongodb.connect()之外使用db.collection(),我想在我的updateProgress()中使用它?>这样,每次调用它的数据都会在模型中设置,保存到数据库
如果我要在每次必须与数据库创建连接时都保存数据,请点击这里
function updateProgress(message){
console.log('updateProgress is running ')
// db save;
const data = new datamodel({
type: message.type,
req_id:message.req_id,
// block_num:message.data.block_num
});
passdata=data;
}
const uri = "mongodb+srv://<databasename>:<password>@cluster0-z2ii6.mongodb.net/test?retryWrites=true&w=majority"
var dbconn= MongoClient.connect(uri,{ useNewUrlParser: true ,useUnifiedTopology: true},function(err, db) {
if(err) {console.log('Error occurred while connecting to MongoDB Atlas...\n',err);}
console.log('Connected...');
dbo=db.db(<databasename>)
dbo.collection('datamodel').insertOne(passdata,(err,passdata)=>{
if(err) throw err
console.log('data is inserted')
})
});
所以,我要从区块链中获取数据,并且只要区块链中发生任何变化,我都会在updateProgress()中的模型中设置该数据,我将调用我的updateProgress()并将其设置为...
我建议为此创建一个客户端对象