user1264626
user1264626

Reputation: 87

Return Single result from mongo doc

Hi I am trying to make a generic method to return a single value from the database I am not sure where to put the return result, value is returned as a BSON document.I need 1 value from it....

    public static string SearchMongoSingleValue(string key, string value, string ducument, string datatable)
     {
         var connectionString = "mongodb://localhost";
         var client = new MongoClient(connectionString);
         var server = client.GetServer();
         var database = server.GetDatabase(datatable);
         var collection = database.GetCollection(ducument);
         var query = Query.EQ(key, value);
         var oneDocument = collection.FindOne(query);

         return oneDocument[value];

Thanks

Upvotes: 0

Views: 1505

Answers (1)

roman
roman

Reputation: 117380

I think you need oneDocument[key] and not oneDocument[value]. Just tested this code:

using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
var client = new MongoClient("mongodb://localhost");
var coll = client.GetServer().GetDatabase("local").GetCollection("test1");
var doc = new BsonDocument();
doc.Add("Name","John");
doc.Add("Color","Red");
coll.Insert(doc);
var query = Query.EQ("Name", "John");
var doc2 = coll.FindOne(query);
var value = doc2["Color"];

It returns "Red" allright

Upvotes: 1

Related Questions