File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -173,8 +173,7 @@ def upserted_id(self) -> Any:
173
173
def did_upsert (self ) -> bool :
174
174
"""Whether an upsert took place."""
175
175
assert self .__raw_result is not None
176
- result = self .__raw_result .get ("upserted" )
177
- return result is not None and len (str (result )) > 0
176
+ return "upserted" in self .__raw_result
178
177
179
178
180
179
class DeleteResult (_WriteResult ):
Original file line number Diff line number Diff line change @@ -122,20 +122,29 @@ 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 )
125
+ self .assertEqual (result .did_upsert , True )
126
126
127
- raw_result_upserted = {
127
+ raw_result_2 = {
128
128
"n" : 1 ,
129
129
"nModified" : 1 ,
130
130
"upserted" : [
131
131
{"index" : 5 , "_id" : 1 },
132
132
],
133
133
}
134
- self .repr_test (UpdateResult , raw_result_upserted )
134
+ self .repr_test (UpdateResult , raw_result_2 )
135
135
136
- result = UpdateResult (raw_result_upserted , True )
136
+ result = UpdateResult (raw_result_2 , True )
137
137
self .assertEqual (result .did_upsert , True )
138
138
139
+ raw_result_3 = {
140
+ "n" : 1 ,
141
+ "nModified" : 1 ,
142
+ }
143
+ self .repr_test (UpdateResult , raw_result_3 )
144
+
145
+ result = UpdateResult (raw_result_3 , True )
146
+ self .assertEqual (result .did_upsert , False )
147
+
139
148
result = UpdateResult (raw_result , False )
140
149
self .assertEqual (raw_result , result .raw_result )
141
150
error_msg = "A value for .* is not available when"
You can’t perform that action at this time.
0 commit comments