var mongoServer = MongoServer.Create("mongodb://<connectionstring>"); var database = mongoServer.GetDatabase("mydatabase"); string mycollectionCount database.Eval("function() { return db.mycollection.count(); }").ToString();
This is useful if you are trying to change property types, for example, as follows:
string updateScript = @" function () { db.some_items.find().forEach(function(documentItem) { documentItem.some_collection.forEach(function(collectionItem) { if (typeof collectionItem.SomeProperty === 'number' && Math.floor(collectionItem.someProperty) === collectionItem.someProperty) { collectionItem.someProperty = '' + collectionItem.someProperty; } }); db.modules_elementary.save(documentItem); }); return true; }"; var updateResult = MongoReadDatabase.Database.Eval(updateScript).ToString(); if (updateResult != "true") { throw new ApplicationException("Update of something failed"); }
This code changes the type of someProperty , which is an element of the collection collection:
some_items mongo collection: { some_collection: [{ someProperty: 12, ....}], .... }
Dao
source share