2016-12-06 20 views
0

貝婁是我的代碼時retrive數據也給tiimeout例外

公共異步無效TestLoops(長裝置,雙DATE1,雙DATE2) {

 var connectionString = "mongodb://localhost.:27017";//Connection string 
     MongoClientSettings settings1 = MongoClientSettings.FromUrl(new MongoUrl(connectionString));// Set Url to the MongoClient 
     //MongoS 

     // MongoClient mongoClient = new MongoClient(settings1); 

     var client = new MongoClient(new MongoClientSettings 
     { 
      Server = new MongoServerAddress("connectionString"), 
      ClusterConfigurator = builder => 
      { 
       builder.ConfigureCluster(settings => settings.With(serverSelectionTimeout: TimeSpan.FromSeconds(1000))); 
      } 
     }); 


     //Server s = new MongoServerAddress(connectionString); 
     var db = client.GetDatabase("tracking");//Specifing the Database name 
     var user = db.GetCollection<BsonDocument>("location");//Specifing t 
     var builder1 = Builders<BsonDocument>.Filter; 
     // var builder1 = Builders<BsonDocument>.Filter; 
     //int 
     var filt = builder1.Eq("device", device) & builder1.Gte("timestamp", date1) & builder1.Lte("timestamp", date2); 
     //var filter = builder1.Eq("device", 358740050124519); 

     var data = user.Find(filt).Count(); 
     lblmsg.Text = data.ToString(); 




    } 

當我寫了var數據= user.Find(filt);它工作正常

+0

嘗試VAR數據= user.Count(FILT); –

回答

0

你可以做

var collection = database.GetCollection<Type>("DBName"); 
var cursor = collection.Find(Query.EQ("FieldToMatch" : "ValueToMatch")); 

var count = cursor.Count(); 

另一種方法

db.collection.CountAsync(); // you can pass new BsonDocument() or a condition to countAsync based on your requirement. 
+0

感謝您的答案,但直到得到異常 –

+0

我的mongodb版本是3.0.6和asp.net的驅動程序是2.3.0是創建任何問題 –