-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation pipeline, Compass, Grammar
-
None
-
Environment:Windows Server 2016,
MongoD 4.0.4
-
Iteration Ragamuffin
When i try to run aggregation query, in one of my stage i receive following error; while the query itself is runnable elsewheres:
Expected "[" or AggregationStage but "{" found.
The stage is as following:
// stage: $addFields /** * newField - The new field name. * expression - The new field expression. */ { "User.ProfilePictures": { $cond:[ { $and:[ {$ne:["User.ProfilePictures",undefined]}, {$ne:["User.ProfilePictures",null]} ] }, { $cond:[ { $ne: [ { $indexOfArray: [ "$User.ProfilePictures.IsMain", true ] }, -1 ] }, { $arrayElemAt: [ "$User.ProfilePictures", { $indexOfArray: [ "$User.ProfilePictures.IsMain", true ] } ] }, { $arrayElemAt: [ "$User.ProfilePictures", 0 ] } ] }, null ] } }
and the whole stages are like this:
// Requires official MongoShell 3.6+ use realEstate; db.getCollection("basePlace").aggregate( [ { "$lookup" : { "from" : "humanResource.user", "localField" : "UserId", "foreignField" : "_id", "as" : "User" } }, { "$unwind" : { "path" : "$User", "preserveNullAndEmptyArrays" : true } }, { "$addFields" : { "User.ProfilePictures" : { "$map" : { "input" : "$User.ProfilePictures", "as" : "pp", "in" : { "ImageId" : "$$pp.ImageId", "CloudinaryUrl" : "$$pp.CloudinarySecureUrl", "IsMain" : "$$pp.IsMain", "Title" : "$$pp.Title", "Description" : "$pp.Description" } } } } }, { "$addFields" : { "User.ProfilePictures" : { "$cond" : [ { "$and" : [ { "$ne" : [ "User.ProfilePictures", undefined ] }, { "$ne" : [ "User.ProfilePictures", null ] } ] }, { "$cond" : [ { "$ne" : [ { "$indexOfArray" : [ "$User.ProfilePictures.IsMain", true ] }, -1.0 ] }, { "$arrayElemAt" : [ "$User.ProfilePictures", { "$indexOfArray" : [ "$User.ProfilePictures.IsMain", true ] } ] }, { "$arrayElemAt" : [ "$User.ProfilePictures", 0.0 ] } ] }, null ] } } }, { "$match" : { "User.ProfilePictures" : { "$ne" : null } } } ], { "allowDiskUse" : false } );
My Schema....
My BasePlace has a reference of a Uset:
{ "_id" : ObjectId("5d06374370de7d26089024e0"), "_t" : "BasePlace", "UserId" : ObjectId("5d06285570de7d11606275f4"), ...
And here's my implementation of Microsoft Identity:
{ "_id" : ObjectId("5d066f0a5e82a42f105a8811"), "UserName" : ------------------, "UserNameLowerCase" : ----------------, "CreateDateTime" : ISODate("2019-06-16T16:32:10.739+0000"), "UpdateDateTime" : ISODate("2019-06-16T16:36:38.563+0000"), "PasswordHash" : ----------------------------, "SecurityStamp" : null, "TwoFactorEnabled" : false, "PhoneNumber" : null, "PhoneNumberStandard" : null, "IsPhoneNumberConfirmed" : false, "Email" : -------------------------, "EmailLowerCase" : ------------------------, "IsEmailConfirmed" : false, "IsLockoutEnabled" : false, "LockoutEndDateUtc" : [ NumberLong(0), NumberInt(0) ], "AccessFailedCount" : NumberInt(0), "Roles" : [ { "RoleId" : ObjectId("5c3c263970de7d2e88a93623"), "Name" : "User", "NameLowerCase" : "user" } ], "Owner" : { "_t" : [ "Owner", "Person" ], "Nickname" : null, "Introduction" : null, "FirstName" : null, "LastName" : null, "OwnerTitle" : NumberInt(0), "ContactEmail" : null, "ContactTel1" : null, "ContactTel2" : null }, "ProfilePictures" : [ { "ImageId" : ObjectId("5d0670165e82a42f105a8812"), "CloudinaryPublicId" : ----------------, "CloudinaryUrl" : --------------, "IsMain" : true, "Title" : "vira.1368 Profile Picture", "Description" : null, "CloudinarySecureUrl" : -------------- } ], "RegisteringIpAddress" : ---------- }
- causes
-
COMPASS-4146 Disable validation in agg builder, query bar and schema validation
- Closed
- is duplicated by
-
COMPASS-3713 While others run Aggregation Query, Compass Generates Errors
- Closed