File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -171,9 +171,10 @@ def upserted_id(self) -> Any:
171
171
172
172
@property
173
173
def did_upsert (self ) -> bool :
174
- """Whether or not an upsert took place."""
174
+ """Whether an upsert took place."""
175
175
assert self .__raw_result is not None
176
- return len (self .__raw_result .get ("upserted" , {})) > 0
176
+ result = self .__raw_result .get ("upserted" )
177
+ return result is not None and len (str (result )) > 0
177
178
178
179
179
180
class DeleteResult (_WriteResult ):
Original file line number Diff line number Diff line change @@ -122,6 +122,19 @@ def test_update_result(self):
122
122
self .assertEqual (raw_result ["n" ], result .matched_count )
123
123
self .assertEqual (raw_result ["nModified" ], result .modified_count )
124
124
self .assertEqual (raw_result ["upserted" ], result .upserted_id )
125
+ self .assertEqual (result .did_upsert , False )
126
+
127
+ raw_result_upserted = {
128
+ "n" : 1 ,
129
+ "nModified" : 1 ,
130
+ "upserted" : [
131
+ {"index" : 5 , "_id" : 1 },
132
+ ],
133
+ }
134
+ self .repr_test (UpdateResult , raw_result_upserted )
135
+
136
+ result = UpdateResult (raw_result_upserted , True )
137
+ self .assertEqual (result .did_upsert , True )
125
138
126
139
result = UpdateResult (raw_result , False )
127
140
self .assertEqual (raw_result , result .raw_result )
You can’t perform that action at this time.
0 commit comments