Skip to content

News

0.12.0 • Array handling aggregation operators and more

users.aggregate()
    .project {
        include(User::name)
        User::bestPassingGrades set User::grades
            .filter { it gt of(50) }
            .map { it / Grade::value }
            .sortedDescending()
            .take(3)
    }

DSL

Documentation

  • Renamed the DSL module from 'Query DSL' to 'Request DSL' (859f3737, !42)
  • Added an example to SortOptionDsl (91c044ac, !43)

Dependencies

  • KotlinX.Coroutines 1.10.1
  • KotlinX.Serialization 1.8.0
  • MongoDB Kotlin driver 5.3.1
  • BSON JS 6.10.3

0.11.0 • Aggregation stages $unset, $project, $sort and $unionWith, sorting in find(), $concat aggregation operator

DSL

  • Add the $unset aggregation stage (4be311d4, !38)
  • Add the $project aggregation stage (e27a6869, !38)
  • Add the $sort aggregation stage (8040445f, !39)
  • Add the $unionWith aggregation stage (d3773e41, !39)
  • Add the $concat aggregation operator (892491e8, !37)
  • Add sorting in find()'s options (c6b2acd8, !39)
  • Allow using the '/' notation on nullable fields (d08211e1, !39)
  • Improve toString of Mongo iterables (e8372cd1, !39)
  • Fix documentation error in the $add aggregation operator (b6db3ff2, !37)
  • Fix outdated Pipeline documentation (40c30ce3, !39)
  • Documentation improvements around aggregation pipelines (bd23fefa, !41)
  • Forbid nullable documents in models, as MongoDB doesn't allow them (5efad8f1, !39)

Kotlin BSON

  • Various documentation improvements and clarifications (e17b899e, !41)

0.10.0 • $add, $abs and trigonometry operators

DSL

  • Add the $add aggregation operator (#7, 4c8eedbe, !33)
  • Add the $abs aggregation operator (#7, 056da623, !35)
  • Add trigonometry aggregation operators $cos, $cosh, $acos, $acosh, $sin, $sinh, $asin, $asinh, $tan, $tanh, $atan, $atanh (#7, !35)
  • Move the aggregation conversion functions (of()) higher in the ValueDsl hierarchy (224c601a, !33)
  • Rename ConditionalOperators to ConditionalValueOperators (edf69970, !33)
  • Rename SetOperators to SetStageOperators (bc343596, !33)

Documentation

  • Add a 'news' section to the website with changelogs (!34)
  • Add the BSON module in the API reference (!36)

0.7.0 • $expr and the first aggregation stages

Kotlin BSON

  • Fixed bug where arrays were generated incorrectly (9d0cbea3, !20)

MongoDB DSL

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

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)