Как читать из 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" } }
Другие вопросы по тегам