2014-03-12 23 views
0

我想從我的MongoDB用下面的代碼如何讀取的MongoDB

public static void MongoConnection() 
{ 
    var connectionString = "127.0.0.1"; 

    var mongoClient = new MongoClient(connectionString); 

    var mongoServer = mongoClient.GetServer(); 

    var databaseName = "PointToPoint"; 
    var db = mongoServer.GetDatabase(databaseName); 
    var mongodb = db.GetCollection("OCS.MeterEntity"); 

    BsonDocument documentRead = mongodb.FindOne(new QueryDocument { 
    {"_id", "4B414D000000011613CD" } 
}); 

讀取一行但documentRead總是空,我知道specifik _id存在於數據庫中。我究竟做錯了什麼?

它連接到數據庫和右表。

+1

本地主機?上次我檢查了127.0.0.1。 –

+1

閱讀本文http://www.codeproject.com/Articles/321741/MongoDB-with-C-NET – Ehsan

+0

你是對的我犯了一個錯字,我只是寫了一個隨機數,因爲我不想讓你知道在哪裏我試圖連接:) – user3240428

回答

0

我mannaged弄明白:)

public static void MongoConnection() 
     { 
      var connectionString = "mongodb://localhost"; 
      var mongoClient = new MongoClient(connectionString); 
      var mongoServer = mongoClient.GetServer(); 
      var databaseName = "PointToPoint"; 
      var db = mongoServer.GetDatabase(databaseName); 
      var mongodb = db.GetCollection<MongoDBModel>("OCS.MeterEntity"); 
      var mongodbQuery = Query<MongoDBModel>.EQ(x => x._id, "4B414D000000011613CD"); 
      var foundMongoDB = mongodb.FindOne(mongodbQuery); 
     } 
1

似乎是一個調用約定:

new QueryDocument("_id", new ObjectId("4B414D000000011613CD")) 

但這應該工作以及:

new BSONDocument { { "_id", "4B414D000000011613CD" } }