Как читать из 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 всегда имеет значение null, и я знаю, что конкретный _id существует в базе данных. Что я делаю неправильно?
Это действительно соединяется с базой данных и правильной таблицей.
2 ответа
Решение
Мне удалось это выяснить:)
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);
}
Кажется, это соглашение о вызовах:
new QueryDocument( "_id", new ObjectId("4B414D000000011613CD") )
но это также должно работать:
new BSONDocument { { "_id", "4B414D000000011613CD" } }