Tengo una colección de bases de datos (ff con nombre), así:
{'followers':
{
'123':1
'123':2
'123':3
}
}
Si corro el (pymongo Uso) consulta:
cursor = fols.find()
cursor.count()
>>3
funciona bien. Ahora:
cursor = fols.find({'followers':{'123':1}})
cursor.count()
>>1
De nuevo funciona bien. PERO si lo intento:
cursor = fols.find({'followers':{'123':{'$exists': True}}})
cursor.count()
>> 0
Devuelve 0 aunque haya 3 registros.
Puede aclarar: ¿Tiene una colección 'seguidores' con tres documentos: {'123': 1}, {'123': 2}, {'123': 3} o tiene una colección' fols 'que contiene un único documento con 3 subdocumentos: {'followers': {'123': 1}, {'123': 2}, {'123': 3}}? Porque la clave '123' se sobrescribirá y solo queda una copia. – Thomas
Tengo una colección fols que contiene un solo documento "seguidores" que contiene los otros valores. Y puedo confirmar que no se sobrescribe como si lo hiciera: fols.find(). Devuelve todos mis 3 documentos. – Amitash
Si tiene un único documento en la colección fols, entonces fols.find() solo debe devolver un solo documento, no 3. Intenté esto en el shell de mongo: db.fols.insert ({'followers': {'123 ': 1,' 123 ': 2,' 123 ': 3}}) y con db.fols.find() get back {"_id": ObjectId ("505149486195484752df6214"), "followers": {"123": 3}}. – Thomas