- Add the aggregation operator $cond (!32)
- The update operator $inc can now be written += (!32)
- Add the update operators setIf & setUnless (!32)
- Add the aggregation operators setIf & setUnless (!32)
- Rewrite the Pipeline hierarchy (!31)
- Add MongoCollection.aggregate (#38, !31)
- Add MongoCollection.updateWithPipeline variants (#37, !31)
- Split the article on field access into multiple pages (62571947, !30)
- Add a documentation page on optional filters (0c6ca41a, !30)
- Add a documentation page on filtered collections (bce1d0df, !30)
- Fixed bug where arrays were generated incorrectly (9d0cbea3, !20)
- Create the aggregation Value (bec086c1)
- Create the $expr filter operator (22b9d97e)
- Add the $match aggregation stage (44ea7bf3)
- Add the $sample aggregation stage (fc34f2b5)
- Add the $skip aggregation stage (3239a479)
- Add the $limit aggregation stage (4cc84722)
- Add the $set aggregation stage (81b7f8b4)
- Implement the $literal aggregation operator (49e1d564)
- Implement the $eq, $ne, $gt, $lt, $gte, $lte aggregation operators (22b9d97e)
- Add link to the documentation website in the main README (!27)
- Shorten the main README (!27)
- The reference is now embedded directly into the documentation website (experimental, 8d613304, !25)
- Added the filter operator Collection.isEmpty (#21, !21)
- Added the filter operator Collection.isNotEmpty (#21, !21)
- Added the positional operator: .$. (!22)
- Added the all positional operator: .$[]. (!22)
- Added a documentation page for CRUD operations (!22)
- Added a documentation page for bulkWrite (!22)
- Added a documentation page for nested fields access, including arrays (!22)
- Add insertOne, insertMany (!16)
- Add deleteOne, deleteMany (!14)
- Add drop (!14)
- Add InsertOneOptions, DeleteOneOptions (!16)
- Add DeleteOptions (!14)
- Add DropOptions (!14)
- Rename any to anyValue, and anyObject to any (#11, !16)
- Add a documentation header for AbstractCompoundExpression (#12, !16)
- Add a link to tracking issues in operators' documentation (#13, !16)
- Initialize the website (!15)
- Add a tutorial for setting up everything (!15)
- Add a contribution guide for integration tests (!16)
- Add pages introducing how to find and update data (!18)
- Add an explanation of the benefits of KtMongo over KMongo (!18)
- Add a comparison between KtMongo and KMongo (!18)
- Simplify the design of the home page (!17)
- Added count()
- Added countEstimated()
- Added updateOne(), updateMany(), upsertOne()
- Added findOneAndUpdate()
- Added filtered collections
- Added an 'options' lambda to all operations
- Added CountOptions.limit()
- Improved MongoCollection.toString()
- Added bulkWrite()
- The BsonContext is now available in all expressions
- Abstract over tree management with the new '.tree' package
- Reorganize all operations from XXXExpressions to XXXOperators interfaces (to allow delegation)
- Add Expression.toBsonDocument
- Added an integration test to ensure the driver is compatible with 3 stable MongoDB versions
- Create MongoCollection and MongoIterable (!8)
- Implement find, findOne (!8)
- Create Expression (!2)
- Create Path and Field to refer to MongoDB fields using Kotlin variables (!3)
- Implement basic filter operators (!3)
- $and, $or, $not
- $eq, $ne, $in
- $exists, $type
- $gt, $gte, $lt, $lte
- $elemMatch, $all
- *notNull variants
- Implement basic update operators (!7)
- $set, $setOnInsert, $unset
- $inc
- $rename
- Mark all functions as @LowLevelApi (!2)
- Typesafe BSON writer (!1)