File tree Expand file tree Collapse file tree 5 files changed +12
-3
lines changed Expand file tree Collapse file tree 5 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ export type GraphQLResolveInfo = _GraphQLResolveInfo;
100100export type ResolverMWResolveFn = _ResolverMWResolveFn ;
101101export type ExtendedResolveParams = ResolveParams & {
102102 query : MongooseQuery ,
103+ returnMongooseDoc : boolean ,
103104} ;
104105
105106
Original file line number Diff line number Diff line change @@ -37,13 +37,15 @@ export default function findById(
3737 type : new GraphQLNonNull ( GraphQLMongoID ) ,
3838 } ,
3939 } ,
40- resolve : ( resolveParams : ExtendedResolveParams ) => {
40+ resolve : ( resolveParams : ExtendedResolveParams ) => {
4141 const args = resolveParams . args || { } ;
4242
4343 if ( args . _id ) {
4444 resolveParams . query = model . findById ( args . _id ) ; // eslint-disable-line
4545 projectionHelper ( resolveParams ) ;
46- return resolveParams . query . exec ( ) ;
46+ return resolveParams . query . exec ( ) . then ( res =>
47+ ( res && ! resolveParams . returnMongooseDoc ? res . toObject ( ) : res )
48+ ) ;
4749 }
4850 return Promise . resolve ( null ) ;
4951 } ,
Original file line number Diff line number Diff line change @@ -53,7 +53,9 @@ export default function findOne(
5353 sortHelper ( resolveParams ) ;
5454 projectionHelper ( resolveParams ) ;
5555
56- return resolveParams . query . exec ( ) ;
56+ return resolveParams . query . exec ( ) . then ( res =>
57+ ( res && ! resolveParams . returnMongooseDoc ? res . toObject ( ) : res )
58+ ) ;
5759 } ,
5860 } ) ;
5961}
Original file line number Diff line number Diff line change @@ -90,6 +90,8 @@ export default function updateById(
9090 resolveParams . projection =
9191 resolveParams . projection && resolveParams . projection . record || { } ;
9292
93+ resolveParams . returnMongooseDoc = true ;
94+
9395 return findByIdResolver . resolve ( resolveParams )
9496 // save changes to DB
9597 . then ( doc => {
Original file line number Diff line number Diff line change @@ -96,6 +96,8 @@ export default function updateOne(
9696 resolveParams . projection =
9797 resolveParams . projection && resolveParams . projection . record || { } ;
9898
99+ resolveParams . returnMongooseDoc = true ;
100+
99101 return findOneResolver . resolve ( resolveParams )
100102 // save changes to DB
101103 . then ( doc => {
You can’t perform that action at this time.
0 commit comments