Skip to content

2024

0.5.0 • Collection.isEmpty, .$., .$[]., improved documentation website

DSL

  • 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)

Website

  • 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)

0.4.0 • Insert, delete, drop, and a configuration tutorial

Drivers

  • Add insertOne, insertMany (!16)
  • Add deleteOne, deleteMany (!14)
  • Add drop (!14)

Query DSL

  • 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)

Documentation

  • 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)

0.3.0 • count(), update(), bulkWrite(), abstract tree management and options

Drivers

  • 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()

DSL

  • 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

BSON

  • Added buildBsonArray

Deployment

  • Added an integration test to ensure the driver is compatible with 3 stable MongoDB versions

0.2.0 • find(), basic filter and update operators

Drivers

  • Create MongoCollection and MongoIterable (!8)
  • Implement find, findOne (!8)

DSL

  • 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

BSON

  • Mark all functions as @LowLevelApi (!2)

Dependencies

  • Kotlin 2.0.20 (!5)