static void document_db_test()
{
Console.WriteLine("======================= Document DB Test ==============================");
LayerManager raw_db = new LayerManager(InitMode.NEW_REGION, "c:\\BENDtst\\main");
StepsDatabase db_broker = new StepsDatabase(raw_db);
IStepsDocumentDB doc_db = db_broker.getDocumentDatabase();
doc_db.ensureIndex( new string[] { "name" } );
doc_db.ensureIndex(new string[] { "age"});
doc_db.Insert(new BsonDocument {
{ "_id" , "user1" },
{ "name" , "David" },
{ "age", 60 }
});
doc_db.Insert(new BsonDocument {
{ "_id" , "user2" },
{ "name" , "Tom" },
{ "age", 32 }
});
doc_db.Insert(new BsonDocument {
{ "_id" , "user3" },
{ "name" , "Tom" },
{ "age", 32 }
});
raw_db.debugDump();
int count=0;
foreach (var doc in doc_db.Find(new BsonDocument() )) {
Console.WriteLine(" [{0}] = {1}", count++, doc.ToJson());
}
var change_spec = new BsonDocument{
{ "$inc" , new BsonDocument { { "age", 1 } } }
};
Console.WriteLine("change spec = " + change_spec.ToJson());
doc_db.Update(new BsonDocument(), change_spec);
raw_db.debugDump();
foreach (var doc in doc_db.Find(new BsonDocument () )) {
Console.WriteLine(" [{0}] = {1}", count++, doc.ToJson());
}
}