我如何在mongodb.connect()之外使用db.collection()[重复]

问题描述 投票:0回答:1

所以,我要从区块链中获取数据,并在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()并将其设置为...

javascript mongodb
1个回答
-1
投票

我建议为此创建一个客户端对象

© www.soinside.com 2019 - 2024. All rights reserved.