public void Test4Q1() { EJDB jb = new EJDB("testdb1", EJDB.DEFAULT_OPEN_MODE | EJDB.JBOTRUNC); Assert.IsTrue(jb.IsOpen); BSONDocument doc = new BSONDocument().SetNumber("age", 33); Assert.IsNull(doc["_id"]); bool rv = jb.Save("mycoll", doc); Assert.IsTrue(rv); Assert.IsNotNull(doc["_id"]); EJDBQuery q = jb.CreateQuery(BSONDocument.ValueOf(new{ age = 33 }), "mycoll"); Assert.IsNotNull(q); using (EJDBQCursor cursor = q.Find()) { Assert.IsNotNull(cursor); Assert.AreEqual(1, cursor.Length); int c = 0; foreach (BSONIterator oit in cursor) { c++; Assert.IsNotNull(oit); BSONDocument rdoc = oit.ToBSONDocument(); Assert.IsTrue(rdoc.HasKey("_id")); Assert.AreEqual(33, rdoc["age"]); } Assert.AreEqual(1, c); } using (EJDBQCursor cursor = q.Find(null, EJDBQuery.EXPLAIN_FLAG)) { Assert.IsNotNull(cursor); Assert.AreEqual(1, cursor.Length); Assert.IsTrue(cursor.Log.IndexOf("MAX: 4294967295") != -1); Assert.IsTrue(cursor.Log.IndexOf("SKIP: 0") != -1); Assert.IsTrue(cursor.Log.IndexOf("RS SIZE: 1") != -1); } q.Max(10); using (EJDBQCursor cursor = q.Find(null, EJDBQuery.EXPLAIN_FLAG)) { Assert.IsTrue(cursor.Log.IndexOf("MAX: 10") != -1); } q.Dispose(); jb.Dispose(); }