@@ -36,6 +36,7 @@ interface PetModel {
36
36
playTimePercent : Decimal128 ; // bson Decimal128 type
37
37
readonly friends ?: ReadonlyArray < HumanModel > ; // readonly array of objects
38
38
playmates ?: HumanModel [ ] ; // writable array of objects
39
+ laps ?: Map < string , number > ; // map field
39
40
// Object with multiple nested levels
40
41
meta ?: {
41
42
updatedAt ?: Date ;
@@ -122,6 +123,7 @@ collectionT.find({ 'friends.0.name': 'John' });
122
123
collectionT . find ( { 'playmates.0.name' : 'John' } ) ;
123
124
// supports arrays with primitive types
124
125
collectionT . find ( { 'treats.0' : 'bone' } ) ;
126
+ collectionT . find ( { 'laps.foo' : 123 } ) ;
125
127
126
128
// Handle special BSON types
127
129
collectionT . find ( { numOfPats : Long . fromBigInt ( 2n ) } ) ;
@@ -135,11 +137,12 @@ collectionT.find({ 'friends.999999999999999999999999999999999999.name': 'John' }
135
137
expectNotType < Filter < PetModel > > ( { 'meta.updatedAt' : 123 } ) ;
136
138
expectNotType < Filter < PetModel > > ( { 'meta.updatedAt' : true } ) ;
137
139
expectNotType < Filter < PetModel > > ( { 'meta.updatedAt' : 'now' } ) ;
138
- expectNotType < Filter < PetModel > > ( { 'meta.deep.nested.level' : '123 ' } ) ;
140
+ expectNotType < Filter < PetModel > > ( { 'meta.deep.nested.level' : 'string ' } ) ;
139
141
expectNotType < Filter < PetModel > > ( { 'meta.deep.nested.level' : true } ) ;
140
142
expectNotType < Filter < PetModel > > ( { 'meta.deep.nested.level' : new Date ( ) } ) ;
141
143
expectNotType < Filter < PetModel > > ( { 'friends.0.name' : 123 } ) ;
142
144
expectNotType < Filter < PetModel > > ( { 'playmates.0.name' : 123 } ) ;
145
+ expectNotType < Filter < PetModel > > ( { 'laps.foo' : 'string' } ) ;
143
146
expectNotType < Filter < PetModel > > ( { 'treats.0' : 123 } ) ;
144
147
expectNotType < Filter < PetModel > > ( { 'numOfPats.__isLong__' : true } ) ;
145
148
expectNotType < Filter < PetModel > > ( { 'playTimePercent.bytes.BYTES_PER_ELEMENT' : 1 } ) ;
0 commit comments