-
#49 Support for the 2.2 aggregation framework is included. (Rodrigo Saito)
session[:users].aggregate({ "$group" => { "_id" => "$city", "totalpop" => { "$sum" => "$pop" } } })
-
#42 Moped now supports SSL connections to MongoDB. Provide the
ssl: true
option when creating a newSession
.Moped::Session.new([ "ssl.mongohq.com:10004" ], ssl: true)
-
#87
Moped::BSON::ObjectId.legal?
now returns true for object ids. -
#85 Allow
===
comparisons with object ids to check for equality of the underlying string. (Bob Aman) -
#84 Query hints are no longer wiped on explain.
-
#60/#80 Moped now gracefully handles replica set reconfig and crashes of the primary and secondary. By default, the node list will be refreshed every second and the operation will be retried up to 30 times. This is configurable by setting the
:max_retries
and:retry_interval
options on the session.Moped::Session.new( [ "node1:27017", "node2:27017" ], retry_interval: 0.5, max_retries: 45 )
- mongoid/mongoid#2430 Don't include $orderby criteria in update calls.
-
#76 Fixed typo in database check on Node. (Mathieu Ravaux)
-
#75 Ensure that
Errno::EHOSTUNREACH
is also handled with other socket errors.
-
#73 Raise a
Moped::Errors::CursorNotFound
on long running queries where the cursor was killed by the server. (Marius Podwyszynski) -
#72 Reauthenticate properly when an
rs.stepDown()
occurs in the middle of cursor execution. -
#71 When DNS cannot resolve on node initialization, the node will be flagged as down instead of raising a
SocketError
. On subsequent refreshes Moped will attempt to resolve the DNS again to determine if the node can be brought up.
-
#63
Database#collection_names
now returns collections with "system" in the name that aren't core MongoDB system collections. (Hans Hasselberg) -
#62 Ensure
Connection#alive?
returns false if I/O errors occur. (lowang) -
#59 Use the current database, not admin, for
getLastError
commands. (Christopher Winslett) -
#57 Ensure collection name is a string for all operations.
-
#50 Fixed connection issues when connection is disconnected mid call. (Jonathan Hyman)
-
mongoid/mongoid#2251 Allow
continue_on_error
option to be provided to inserts. -
mongoid/mongoid#2210 Added
Session#disconnect
which will disconnect all nodes in the cluster from their respective database servers. Useful for cases where a large number of database connections are being created on separate threads and need to be explicitly closed after their work is completed. -
#33 Added
Session#databases
andSession#database_names
as a convenience for getting all database information for the server.session = Moped::Session.new([ "localhost:27017" ]) session.database_names #=> [ "moped_test" ] session.databases #=> { "databases" => [{ "name" => "moped_test" }]}
-
#45 When providing database names with invalid characters in them, Moped will now raise an
InvalidDatabaseName
error. -
#41
ObjectId.from_time
now only includes the timestamp, no machine or process information.
-
#44 Fixed order of parameters for loading timestamps. (Ralf Kistner)
-
#40 Fix explain to return correct number of scanned documents and time.
- Queries now can be duped/cloned and be initialized properly.
- #37 Use
TCP_NODELAY
for socket options. (Nicolas Viennot)
- mongoid/mongoid#2175 Fixed sorting by object ids.
- #29 Fixed endian directives order. Moped will now work properly on all architectures. This removes support for MRI 1.9.2. (Miguel Herranz)
-
mongoid/mongoid#2175 Fixed sorting by object ids.
-
#28
BSON::Binary
andBSON::ObjectId
now have readableto_s
andinspect
methods. (Ara Howard)