Wouldn't this be a little cleaner?
data = collection.get("key")
if data:
...
else:
...No, this would crash with numpy arrays, pandas series and such, with a ValueError: The truth value of an array with more than one element is ambiguous.
That behaves differently (eg if collection["key"] = 0)
No, truthiness (implicit bool coercion) is another thing you should avoid. This will do weird things if data is a string or a list or whatever.
it depends on what's in the if blocks
If valid `data` can be zero, an empty string, or anything else “falsy”, then your version won’t handle those values correctly. It treats them the same as `None`, i.e. not found.