The actual change is in src/mongo/shell/collection.js with the remaining changes
to adjust tests to the new api.
The "ideal" arguments are now an array of pipeline ops and an optional object
with extra top-level options for the command (such as {explain: true}. For
backwards compatibility, we still support the varargs style where each argument
is a pipeline stage, but there is no way to specify extra parameters in this
mode.
31 lines
478 B
JavaScript
31 lines
478 B
JavaScript
// use aggdb
|
|
db = db.getSiblingDB("aggdb");
|
|
var article = db.article;
|
|
|
|
load('jstests/aggregation/data/articles.js');
|
|
|
|
// original crash from ticket
|
|
var r3 = article.aggregate(
|
|
{ $project: {
|
|
author: 1,
|
|
_id: 0
|
|
}},
|
|
{ $project: {
|
|
Writer: "$author"
|
|
}}
|
|
);
|
|
|
|
var r3result = [
|
|
{
|
|
"Writer" : "bob"
|
|
},
|
|
{
|
|
"Writer" : "dave"
|
|
},
|
|
{
|
|
"Writer" : "jane"
|
|
}
|
|
];
|
|
|
|
assert.eq(r3.toArray(), r3result, 's5012 failed');
|