

[jsTest] ----
[jsTest] Resetting collection. Inserting docs:
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { "c" : { "b" : 1 } } }
{ "_id" : 11, "a" : { "b" : 1, "c" : 1, "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1, "b" : 1 } }
{ "_id" : 13, "a" : { "b" : { } } }
{ "_id" : 14, "a" : { "b" : { "c" : null } } }
{ "_id" : 15, "a" : { "b" : { "c" : undefined } } }
{ "_id" : 16, "a" : { "b" : { "x" : 1, "y" : 1 } } }
{ "_id" : 17, "a" : { "b" : { "c" : "str", "d" : "str", "e" : "str" }, "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { "b" : 1 }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { "c" : "str" } ] }
{ "_id" : 32, "a" : [ { "b" : null, "c" : 1 }, { "c" : 1 }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "b" : [ ], "x" : "str" } }
{ "_id" : 34, "a" : { "b" : [ "str" ] } }
{ "_id" : 35, "a" : { "b" : [ [ ] ] } }
{ "_id" : 36, "a" : { "b" : [ { } ] } }
{ "_id" : 37, "a" : { "b" : [ { "c" : null } ] } }
{ "_id" : 38, "a" : [ { "b" : { "x" : 1 } } ] }
{ "_id" : 39, "a" : [ { "b" : [ { } ] } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { "c" : 1 } ] ], { "b" : 1 } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { "b" : [ { "cNot" : "str", "d" : 1 }, { "cNot" : "str", "d" : 2 } ] }, { "b" : [ { "c" : 3, "d" : 3 }, { "cNot" : "str", "d" : 4 }, { "c" : 5 } ] } ] }
{ "_id" : 42, "a" : [ { "b" : { "c" : 2, "d" : 3 }, "e" : 4 }, { "b" : { "c" : 5, "d" : 6 }, "e" : 7 } ] }
{ "_id" : 43, "a" : { "b" : [ { "c" : 1, "d" : 1 }, { "c" : 2, "d" : 2 } ] } }
{ "_id" : 44, "a" : { "b" : { "c" : [ 1, 2, { "d" : 3 } ] } } }
{ "_id" : 45, "a" : [ "str", { "b" : 1 }, { "c" : 1 }, { "b" : 1, "c" : 1, "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { "b" : [ { "c" : 1, "d" : 1 }, { "c" : 2, "d" : 2 } ] }, { "b" : [ { "c" : 3, "d" : 3 }, { "c" : 4, "d" : 4 } ] } ] }
{ "_id" : 47, "a" : [ { "b" : { "c" : [ 1, { "d" : 1 } ] } }, { "b" : { "c" : [ ] } } ] }
{ "_id" : 48, "a" : { "b" : [ { "c" : [ 1, { "d" : 1 } ] }, { "c" : [ ] } ] } }
{ "_id" : 49, "a" : [ { "b" : [ { "c" : [ 1, 2, 3 ], "d" : 1 }, { "c" : [ 2, 3, 4 ], "d" : 2 } ] }, { "b" : [ { "c" : [ 3, 4, 5 ], "d" : 3 }, { "c" : [ 4, 5, 6 ], "d" : 4 } ] } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { "b" : [ [ [ { "c" : [ [ [ "str" ] ] ], "d" : "str" } ] ] ] } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ], [ [ { "b" : 1 } ] ], [ { "b" : 1 }, [ { "b" : 2 } ], [ [ { "b" : [ 2 ] } ] ] ] ] }
{ "_id" : 6, "a" : { "b" : null, "c" : 1 } }
{ "_id" : 7, "a" : { "b" : undefined, "c" : 1 } }
{ "_id" : 8, "a" : { "c" : 1, "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }
Collection count: 53


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a" : 0 } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1 }
{ "_id" : 10 }
{ "_id" : 11, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12 }
{ "_id" : 13 }
{ "_id" : 14 }
{ "_id" : 15 }
{ "_id" : 16 }
{ "_id" : 17, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a.b" : "str", "abc" : "str" }
{ "_id" : 2 }
{ "_id" : 20, "a.b" : "str" }
{ "_id" : 21 }
{ "_id" : 22, "x" : "str" }
{ "_id" : 23 }
{ "_id" : 24 }
{ "_id" : 25 }
{ "_id" : 26 }
{ "_id" : 27 }
{ "_id" : 28 }
{ "_id" : 29 }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30 }
{ "_id" : 31 }
{ "_id" : 32 }
{ "_id" : 33 }
{ "_id" : 34 }
{ "_id" : 35 }
{ "_id" : 36 }
{ "_id" : 37 }
{ "_id" : 38 }
{ "_id" : 39 }
{ "_id" : 4, "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40 }
{ "_id" : 41 }
{ "_id" : 42 }
{ "_id" : 43 }
{ "_id" : 44 }
{ "_id" : 45, "x" : "str" }
{ "_id" : 46 }
{ "_id" : 47 }
{ "_id" : 48 }
{ "_id" : 49 }
{ "_id" : 5 }
{ "_id" : 50 }
{ "_id" : 51 }
{ "_id" : 52 }
{ "_id" : 6 }
{ "_id" : 7 }
{ "_id" : 8 }
{ "_id" : 9 }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a" : 0, "_id" : 0 } } ]
[jsTest] ----

{ "a.b" : "str" }
{ "a.b" : "str", "abc" : "str" }
{ "a.b.c" : 1 }
{ "b" : "str", "x" : "str", "y" : "str" }
{ "x" : "str" }
{ "x" : "str" }
{ "x" : "str" }
{ "x" : "str", "y" : "str" }
{ "x" : { "y" : 1, "z" : 1 } }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }
{ }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a" : 0, "x" : 0 } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1 }
{ "_id" : 10 }
{ "_id" : 11 }
{ "_id" : 12 }
{ "_id" : 13 }
{ "_id" : 14 }
{ "_id" : 15 }
{ "_id" : 16 }
{ "_id" : 17 }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a.b" : "str", "abc" : "str" }
{ "_id" : 2 }
{ "_id" : 20, "a.b" : "str" }
{ "_id" : 21 }
{ "_id" : 22 }
{ "_id" : 23 }
{ "_id" : 24 }
{ "_id" : 25 }
{ "_id" : 26 }
{ "_id" : 27 }
{ "_id" : 28 }
{ "_id" : 29 }
{ "_id" : 3, "y" : "str" }
{ "_id" : 30 }
{ "_id" : 31 }
{ "_id" : 32 }
{ "_id" : 33 }
{ "_id" : 34 }
{ "_id" : 35 }
{ "_id" : 36 }
{ "_id" : 37 }
{ "_id" : 38 }
{ "_id" : 39 }
{ "_id" : 4, "b" : "str", "y" : "str" }
{ "_id" : 40 }
{ "_id" : 41 }
{ "_id" : 42 }
{ "_id" : 43 }
{ "_id" : 44 }
{ "_id" : 45 }
{ "_id" : 46 }
{ "_id" : 47 }
{ "_id" : 48 }
{ "_id" : 49 }
{ "_id" : 5 }
{ "_id" : 50 }
{ "_id" : 51 }
{ "_id" : 52 }
{ "_id" : 6 }
{ "_id" : 7 }
{ "_id" : 8 }
{ "_id" : 9 }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a.b" : 0 } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { "c" : { "b" : 1 } } }
{ "_id" : 11, "a" : { "c" : 1, "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1 } }
{ "_id" : 13, "a" : { } }
{ "_id" : 14, "a" : { } }
{ "_id" : 15, "a" : { } }
{ "_id" : 16, "a" : { } }
{ "_id" : 17, "a" : { "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { "c" : "str" } ] }
{ "_id" : 32, "a" : [ { "c" : 1 }, { "c" : 1 }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "x" : "str" } }
{ "_id" : 34, "a" : { } }
{ "_id" : 35, "a" : { } }
{ "_id" : 36, "a" : { } }
{ "_id" : 37, "a" : { } }
{ "_id" : 38, "a" : [ { } ] }
{ "_id" : 39, "a" : [ { } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { "c" : 1 } ] ], { } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { }, { } ] }
{ "_id" : 42, "a" : [ { "e" : 4 }, { "e" : 7 } ] }
{ "_id" : 43, "a" : { } }
{ "_id" : 44, "a" : { } }
{ "_id" : 45, "a" : [ "str", { }, { "c" : 1 }, { "c" : 1, "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { }, { } ] }
{ "_id" : 47, "a" : [ { }, { } ] }
{ "_id" : 48, "a" : { } }
{ "_id" : 49, "a" : [ { }, { } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { }, { "c" : 2 }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { }, { "c" : 2 }, "str" ], [ [ { } ] ], [ { }, [ { } ], [ [ { } ] ] ] ] }
{ "_id" : 6, "a" : { "c" : 1 } }
{ "_id" : 7, "a" : { "c" : 1 } }
{ "_id" : 8, "a" : { "c" : 1, "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a.b" : 0, "a.c" : 0 } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { } }
{ "_id" : 11, "a" : { "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1 } }
{ "_id" : 13, "a" : { } }
{ "_id" : 14, "a" : { } }
{ "_id" : 15, "a" : { } }
{ "_id" : 16, "a" : { } }
{ "_id" : 17, "a" : { "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { } ] }
{ "_id" : 32, "a" : [ { }, { }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "x" : "str" } }
{ "_id" : 34, "a" : { } }
{ "_id" : 35, "a" : { } }
{ "_id" : 36, "a" : { } }
{ "_id" : 37, "a" : { } }
{ "_id" : 38, "a" : [ { } ] }
{ "_id" : 39, "a" : [ { } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { } ] ], { } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { }, { } ] }
{ "_id" : 42, "a" : [ { "e" : 4 }, { "e" : 7 } ] }
{ "_id" : 43, "a" : { } }
{ "_id" : 44, "a" : { } }
{ "_id" : 45, "a" : [ "str", { }, { }, { "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { }, { } ] }
{ "_id" : 47, "a" : [ { }, { } ] }
{ "_id" : 48, "a" : { } }
{ "_id" : 49, "a" : [ { }, { } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { }, { }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { }, { }, "str" ], [ [ { } ] ], [ { }, [ { } ], [ [ { } ] ] ] ] }
{ "_id" : 6, "a" : { } }
{ "_id" : 7, "a" : { } }
{ "_id" : 8, "a" : { "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a.b.c" : 0 } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { "c" : { "b" : 1 } } }
{ "_id" : 11, "a" : { "b" : 1, "c" : 1, "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1, "b" : 1 } }
{ "_id" : 13, "a" : { "b" : { } } }
{ "_id" : 14, "a" : { "b" : { } } }
{ "_id" : 15, "a" : { "b" : { } } }
{ "_id" : 16, "a" : { "b" : { "x" : 1, "y" : 1 } } }
{ "_id" : 17, "a" : { "b" : { "d" : "str", "e" : "str" }, "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { "b" : 1 }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { "c" : "str" } ] }
{ "_id" : 32, "a" : [ { "b" : null, "c" : 1 }, { "c" : 1 }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "b" : [ ], "x" : "str" } }
{ "_id" : 34, "a" : { "b" : [ "str" ] } }
{ "_id" : 35, "a" : { "b" : [ [ ] ] } }
{ "_id" : 36, "a" : { "b" : [ { } ] } }
{ "_id" : 37, "a" : { "b" : [ { } ] } }
{ "_id" : 38, "a" : [ { "b" : { "x" : 1 } } ] }
{ "_id" : 39, "a" : [ { "b" : [ { } ] } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { "c" : 1 } ] ], { "b" : 1 } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { "b" : [ { "cNot" : "str", "d" : 1 }, { "cNot" : "str", "d" : 2 } ] }, { "b" : [ { "d" : 3 }, { "cNot" : "str", "d" : 4 }, { } ] } ] }
{ "_id" : 42, "a" : [ { "b" : { "d" : 3 }, "e" : 4 }, { "b" : { "d" : 6 }, "e" : 7 } ] }
{ "_id" : 43, "a" : { "b" : [ { "d" : 1 }, { "d" : 2 } ] } }
{ "_id" : 44, "a" : { "b" : { } } }
{ "_id" : 45, "a" : [ "str", { "b" : 1 }, { "c" : 1 }, { "b" : 1, "c" : 1, "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { "b" : [ { "d" : 1 }, { "d" : 2 } ] }, { "b" : [ { "d" : 3 }, { "d" : 4 } ] } ] }
{ "_id" : 47, "a" : [ { "b" : { } }, { "b" : { } } ] }
{ "_id" : 48, "a" : { "b" : [ { }, { } ] } }
{ "_id" : 49, "a" : [ { "b" : [ { "d" : 1 }, { "d" : 2 } ] }, { "b" : [ { "d" : 3 }, { "d" : 4 } ] } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { "b" : [ [ [ { "d" : "str" } ] ] ] } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ], [ [ { "b" : 1 } ] ], [ { "b" : 1 }, [ { "b" : 2 } ], [ [ { "b" : [ 2 ] } ] ] ] ] }
{ "_id" : 6, "a" : { "b" : null, "c" : 1 } }
{ "_id" : 7, "a" : { "b" : undefined, "c" : 1 } }
{ "_id" : 8, "a" : { "c" : 1, "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a.b.c" : 0, "a.b.d" : 0 } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { "c" : { "b" : 1 } } }
{ "_id" : 11, "a" : { "b" : 1, "c" : 1, "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1, "b" : 1 } }
{ "_id" : 13, "a" : { "b" : { } } }
{ "_id" : 14, "a" : { "b" : { } } }
{ "_id" : 15, "a" : { "b" : { } } }
{ "_id" : 16, "a" : { "b" : { "x" : 1, "y" : 1 } } }
{ "_id" : 17, "a" : { "b" : { "e" : "str" }, "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { "b" : 1 }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { "c" : "str" } ] }
{ "_id" : 32, "a" : [ { "b" : null, "c" : 1 }, { "c" : 1 }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "b" : [ ], "x" : "str" } }
{ "_id" : 34, "a" : { "b" : [ "str" ] } }
{ "_id" : 35, "a" : { "b" : [ [ ] ] } }
{ "_id" : 36, "a" : { "b" : [ { } ] } }
{ "_id" : 37, "a" : { "b" : [ { } ] } }
{ "_id" : 38, "a" : [ { "b" : { "x" : 1 } } ] }
{ "_id" : 39, "a" : [ { "b" : [ { } ] } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { "c" : 1 } ] ], { "b" : 1 } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { "b" : [ { "cNot" : "str" }, { "cNot" : "str" } ] }, { "b" : [ { }, { "cNot" : "str" }, { } ] } ] }
{ "_id" : 42, "a" : [ { "b" : { }, "e" : 4 }, { "b" : { }, "e" : 7 } ] }
{ "_id" : 43, "a" : { "b" : [ { }, { } ] } }
{ "_id" : 44, "a" : { "b" : { } } }
{ "_id" : 45, "a" : [ "str", { "b" : 1 }, { "c" : 1 }, { "b" : 1, "c" : 1, "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { "b" : [ { }, { } ] }, { "b" : [ { }, { } ] } ] }
{ "_id" : 47, "a" : [ { "b" : { } }, { "b" : { } } ] }
{ "_id" : 48, "a" : { "b" : [ { }, { } ] } }
{ "_id" : 49, "a" : [ { "b" : [ { }, { } ] }, { "b" : [ { }, { } ] } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { "b" : [ [ [ { } ] ] ] } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ], [ [ { "b" : 1 } ] ], [ { "b" : 1 }, [ { "b" : 2 } ], [ [ { "b" : [ 2 ] } ] ] ] ] }
{ "_id" : 6, "a" : { "b" : null, "c" : 1 } }
{ "_id" : 7, "a" : { "b" : undefined, "c" : 1 } }
{ "_id" : 8, "a" : { "c" : 1, "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a" : { "b" : 0 } } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { "c" : { "b" : 1 } } }
{ "_id" : 11, "a" : { "c" : 1, "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1 } }
{ "_id" : 13, "a" : { } }
{ "_id" : 14, "a" : { } }
{ "_id" : 15, "a" : { } }
{ "_id" : 16, "a" : { } }
{ "_id" : 17, "a" : { "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { "c" : "str" } ] }
{ "_id" : 32, "a" : [ { "c" : 1 }, { "c" : 1 }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "x" : "str" } }
{ "_id" : 34, "a" : { } }
{ "_id" : 35, "a" : { } }
{ "_id" : 36, "a" : { } }
{ "_id" : 37, "a" : { } }
{ "_id" : 38, "a" : [ { } ] }
{ "_id" : 39, "a" : [ { } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { "c" : 1 } ] ], { } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { }, { } ] }
{ "_id" : 42, "a" : [ { "e" : 4 }, { "e" : 7 } ] }
{ "_id" : 43, "a" : { } }
{ "_id" : 44, "a" : { } }
{ "_id" : 45, "a" : [ "str", { }, { "c" : 1 }, { "c" : 1, "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { }, { } ] }
{ "_id" : 47, "a" : [ { }, { } ] }
{ "_id" : 48, "a" : { } }
{ "_id" : 49, "a" : [ { }, { } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { }, { "c" : 2 }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { }, { "c" : 2 }, "str" ], [ [ { } ] ], [ { }, [ { } ], [ [ { } ] ] ] ] }
{ "_id" : 6, "a" : { "c" : 1 } }
{ "_id" : 7, "a" : { "c" : 1 } }
{ "_id" : 8, "a" : { "c" : 1, "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "a" : { "b.c" : { "d" : 0, "e" : 0 } } } } ]
[jsTest] ----

{ "_id" : 0 }
{ "_id" : 1, "a" : null }
{ "_id" : 10, "a" : { "c" : { "b" : 1 } } }
{ "_id" : 11, "a" : { "b" : 1, "c" : 1, "d" : 1 }, "x" : { "y" : 1, "z" : 1 } }
{ "_id" : 12, "a" : { "_id" : 1, "b" : 1 } }
{ "_id" : 13, "a" : { "b" : { } } }
{ "_id" : 14, "a" : { "b" : { "c" : null } } }
{ "_id" : 15, "a" : { "b" : { "c" : undefined } } }
{ "_id" : 16, "a" : { "b" : { "x" : 1, "y" : 1 } } }
{ "_id" : 17, "a" : { "b" : { "c" : "str", "d" : "str", "e" : "str" }, "f" : "str" }, "x" : "str" }
{ "_id" : 18, "a.b.c" : 1 }
{ "_id" : 19, "a" : "str", "a.b" : "str", "abc" : "str" }
{ "_id" : 2, "a" : undefined }
{ "_id" : 20, "a" : { "b" : 1 }, "a.b" : "str" }
{ "_id" : 21, "a" : { "bNot" : { "c" : 1 } } }
{ "_id" : 22, "a" : [ ], "x" : "str" }
{ "_id" : 23, "a" : [ "str" ] }
{ "_id" : 24, "a" : [ null ] }
{ "_id" : 25, "a" : [ null, null ] }
{ "_id" : 26, "a" : [ null, "str" ] }
{ "_id" : 27, "a" : [ [ ], [ ] ] }
{ "_id" : 28, "a" : [ [ 1, 2 ] ] }
{ "_id" : 29, "a" : [ { }, { } ] }
{ "_id" : 3, "x" : "str", "y" : "str" }
{ "_id" : 30, "a" : [ { "x" : "str" } ] }
{ "_id" : 31, "a" : [ { "c" : "str" } ] }
{ "_id" : 32, "a" : [ { "b" : null, "c" : 1 }, { "c" : 1 }, { "d" : 1 }, "str" ] }
{ "_id" : 33, "a" : { "b" : [ ], "x" : "str" } }
{ "_id" : 34, "a" : { "b" : [ "str" ] } }
{ "_id" : 35, "a" : { "b" : [ [ ] ] } }
{ "_id" : 36, "a" : { "b" : [ { } ] } }
{ "_id" : 37, "a" : { "b" : [ { "c" : null } ] } }
{ "_id" : 38, "a" : [ { "b" : { "x" : 1 } } ] }
{ "_id" : 39, "a" : [ { "b" : [ { } ] } ] }
{ "_id" : 4, "a" : "str", "b" : "str", "x" : "str", "y" : "str" }
{ "_id" : 40, "a" : [ [ ], [ [ ], [ ], [ 1 ], [ { "c" : 1 } ] ], { "b" : 1 } ] }
{ "_id" : 41, "a" : [ { "bNot" : [ { "c" : "str" }, { "c" : "str" } ] }, { "b" : [ { "cNot" : "str", "d" : 1 }, { "cNot" : "str", "d" : 2 } ] }, { "b" : [ { "c" : 3, "d" : 3 }, { "cNot" : "str", "d" : 4 }, { "c" : 5 } ] } ] }
{ "_id" : 42, "a" : [ { "b" : { "c" : 2, "d" : 3 }, "e" : 4 }, { "b" : { "c" : 5, "d" : 6 }, "e" : 7 } ] }
{ "_id" : 43, "a" : { "b" : [ { "c" : 1, "d" : 1 }, { "c" : 2, "d" : 2 } ] } }
{ "_id" : 44, "a" : { "b" : { "c" : [ 1, 2, { } ] } } }
{ "_id" : 45, "a" : [ "str", { "b" : 1 }, { "c" : 1 }, { "b" : 1, "c" : 1, "d" : 1 } ], "x" : "str" }
{ "_id" : 46, "a" : [ { "b" : [ { "c" : 1, "d" : 1 }, { "c" : 2, "d" : 2 } ] }, { "b" : [ { "c" : 3, "d" : 3 }, { "c" : 4, "d" : 4 } ] } ] }
{ "_id" : 47, "a" : [ { "b" : { "c" : [ 1, { } ] } }, { "b" : { "c" : [ ] } } ] }
{ "_id" : 48, "a" : { "b" : [ { "c" : [ 1, { } ] }, { "c" : [ ] } ] } }
{ "_id" : 49, "a" : [ { "b" : [ { "c" : [ 1, 2, 3 ], "d" : 1 }, { "c" : [ 2, 3, 4 ], "d" : 2 } ] }, { "b" : [ { "c" : [ 3, 4, 5 ], "d" : 3 }, { "c" : [ 4, 5, 6 ], "d" : 4 } ] } ] }
{ "_id" : 5, "a" : { } }
{ "_id" : 50, "a" : [ [ 1, { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ] ] }
{ "_id" : 51, "a" : [ [ [ { "b" : [ [ [ { "c" : [ [ [ "str" ] ] ], "d" : "str" } ] ] ] } ] ] ] }
{ "_id" : 52, "a" : [ [ "str", { "b" : 1 }, { "b" : 2, "c" : 2 }, "str" ], [ [ { "b" : 1 } ] ], [ { "b" : 1 }, [ { "b" : 2 } ], [ [ { "b" : [ 2 ] } ] ] ] ] }
{ "_id" : 6, "a" : { "b" : null, "c" : 1 } }
{ "_id" : 7, "a" : { "b" : undefined, "c" : 1 } }
{ "_id" : 8, "a" : { "c" : 1, "d" : 1 } }
{ "_id" : 9, "a" : { "d" : 1 } }


[jsTest] ----
[jsTest] Resetting collection. Inserting docs:
[jsTest] ----

{ "_id" : 1, "x" : 2 }
{ "_id" : { "a" : 1, "b" : 2, "c" : 3 }, "x" : 4 }
{ "_id" : { "a" : 1, "c" : 2 }, "x" : 3 }
{ "_id" : { "a" : [ [ { "b" : { "c" : 1 }, "d" : 2 }, 3 ], 4 ], "e" : 5 }, "x" : 6 }
{ "_id" : { "a" : { "b" : { "c" : 1 }, "d" : 2 }, "e" : 3 }, "x" : 4 }
{ "_id" : { "x" : 1 }, "y" : 2 }
{ "_id" : { }, "x" : 1 }
Collection count: 7


[jsTest] ----
[jsTest] Query: [ { "$project" : { "_id" : 0 } } ]
[jsTest] ----

{ "x" : 1 }
{ "x" : 2 }
{ "x" : 3 }
{ "x" : 4 }
{ "x" : 4 }
{ "x" : 6 }
{ "y" : 2 }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "_id.a" : 0 } } ]
[jsTest] ----

{ "_id" : 1, "x" : 2 }
{ "_id" : { "b" : 2, "c" : 3 }, "x" : 4 }
{ "_id" : { "c" : 2 }, "x" : 3 }
{ "_id" : { "e" : 3 }, "x" : 4 }
{ "_id" : { "e" : 5 }, "x" : 6 }
{ "_id" : { "x" : 1 }, "y" : 2 }
{ "_id" : { }, "x" : 1 }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "_id.a" : 0, "_id.b" : 0 } } ]
[jsTest] ----

{ "_id" : 1, "x" : 2 }
{ "_id" : { "c" : 2 }, "x" : 3 }
{ "_id" : { "c" : 3 }, "x" : 4 }
{ "_id" : { "e" : 3 }, "x" : 4 }
{ "_id" : { "e" : 5 }, "x" : 6 }
{ "_id" : { "x" : 1 }, "y" : 2 }
{ "_id" : { }, "x" : 1 }


[jsTest] ----
[jsTest] Query: [ { "$project" : { "_id.a.b" : 0 } } ]
[jsTest] ----

{ "_id" : 1, "x" : 2 }
{ "_id" : { "a" : 1, "b" : 2, "c" : 3 }, "x" : 4 }
{ "_id" : { "a" : 1, "c" : 2 }, "x" : 3 }
{ "_id" : { "a" : [ [ { "d" : 2 }, 3 ], 4 ], "e" : 5 }, "x" : 6 }
{ "_id" : { "a" : { "d" : 2 }, "e" : 3 }, "x" : 4 }
{ "_id" : { "x" : 1 }, "y" : 2 }
{ "_id" : { }, "x" : 1 }
