S
import os
import bson
import pymongo
test_client = pymongo.MongoClient(host=os.getenv('MONGODB_HOST'))
test_db = test_client.get_database(name='test')
my_col = test_db.get_collection('my')
my_col.drop()
my_col.insert_one({'foo': 1})
print(list(my_col.find()))
id_value = '5e17a81897e04c0781596e0d'
my_col.insert_one({'_id': bson.ObjectId(id_value), 'foo': 2})
print(list(my_col.find()))
print(my_col.find_one(bson.ObjectId(id_value)))
print(my_col.find_one(id_value))
my_col.insert_one({'_id': id_value, 'foo': 3})
print(list(my_col.find()))
print(my_col.find_one(bson.ObjectId(id_value)))
print(my_col.find_one(id_value))
да, таки надо явно
app_1 | [{'_id': ObjectId('5e17aaadc02f935d421ae525'), 'foo': 1}]
app_1 | [{'_id': ObjectId('5e17aaadc02f935d421ae525'), 'foo': 1}, {'_id': ObjectId('5e17a81897e04c0781596e0d'), 'foo': 2}]
app_1 | {'_id': ObjectId('5e17a81897e04c0781596e0d'), 'foo': 2}
app_1 | None
app_1 | [{'_id': ObjectId('5e17aaadc02f935d421ae525'), 'foo': 1}, {'_id': ObjectId('5e17a81897e04c0781596e0d'), 'foo': 2}, {'_id': '5e17a81897e04c0781596e0d', 'foo': 3}]
app_1 | {'_id': ObjectId('5e17a81897e04c0781596e0d'), 'foo': 2}
app_1 | {'_id': '5e17a81897e04c0781596e0d', 'foo': 3}
и третий документ нам показывает почему так
Спасибо за эксперимент!
