static void TestAggregate2(SequoiaClient sdb)
{
var cs = sdb.GetCollecitonSpace("dbo");
DBCollection coll = null;
if (cs.IsCollectionExist("t2"))
coll = cs.GetCollection("t2");
else
coll = cs.CreateCollection("t2");
String[] command = new String[2];
command[0] = "{$match:{status:\"A\"}}";
command[1] = "{$group:{_id:\"$cust_id\",amount:{\"$sum\":\"$amount\"},cust_id:{\"$first\":\"$cust_id\"}}}";
String[] record = new String[4];
record[0] = "{cust_id:\"A123\",amount:500,status:\"A\"}";
record[1] = "{cust_id:\"A123\",amount:250,status:\"A\"}";
record[2] = "{cust_id:\"B212\",amount:200,status:\"A\"}";
record[3] = "{cust_id:\"A123\",amount:300,status:\"D\"}";
// insert record into database
for (int i = 0; i < record.Length; i++)
{
BsonDocument obj = new BsonDocument();
obj = BsonDocument.Parse(record[i]);
Console.WriteLine("Record is: " + obj.ToString());
coll.Insert(obj);
}
List list = new List();
for (int i = 0; i < command.Length; i++)
{
BsonDocument obj = new BsonDocument();
obj = BsonDocument.Parse(command[i]);
list.Add(obj);
}
DBCursor cursor = coll.Aggregate(list);
int count = 0;
while (null != cursor.Next())
{
Console.WriteLine("Result is: " + cursor.Current().ToString());
String str = cursor.Current().ToString();
count++;
}
}