On Mar 20, 2020, at 8:05 AM, Benjamin Thompson <b.thompson@latera.ru> wrote:
The findAndModify() method was recently updated to support aggregation. This means that the "update" parameter now accepts two different sytaxes:
Old syntax (no aggregation): db.collection.findAndModify(query: { ... }, update: { ... } )
New syntax (with aggregation): db.collection.findAndModify(query: { ... }, update: [ ... ] )
The difference being that square bracket are used instead of curly bracktes for the aggregation pipeline.
The first syntax works with FreeRADIUS but the second syntax gives the error:
rlm_sql_mongo: 'update' does not hold a document.
It's not clear why... I'm not a Mongo expert. I just read the MongoC API, and poked things until it worked. The API is pretty good, which helped.
If there is any possiblitly to support the aggregation option then I think this would be very useful as it allows much more complex data processing inside the request.
Sure. What API does the module have to use? Alan DeKok.