MongoDB итерация запроса занимает время и заканчивается ошибкой - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть коллекция, которая выглядит следующим образом.

/* 1 */
{
    "_id" : ObjectId("5bd69c4556487e05908378b9"),
    "id" : 1,
    "mobile_number" : NumberLong(9110568960),
    "operator" : 0,
    "circle" : 12,
    "upload_file_id" : 1,
}

/* 2 */
{
    "_id" : ObjectId("5bd69c4556487e05908378ba"),
    "id" : 2,
    "mobile_number" : NumberLong(9176662027),
    "operator" : 13,
    "circle" : 4,
    "upload_file_id" : 1,
}

/* 3 */
{
    "_id" : ObjectId("5bd69c4556487e05908378bb"),
    "id" : 3,
    "upload_id" : 3,
    "mobile_number" : NumberLong(9160228877),
    "operator" : 13,
    "circle" : 1,
    "upload_file_id" : 1,
}

В MongoDB 10 миллионов мобильных номеров, как указано выше. Я хочу взять только номер мобильного телефона от MongoDB. Так что код Django будет таким, как показано ниже.

Это занимает много времени и также заканчивается другой ошибкой. Я новичок в Django и MongoDB.

# fetching only mobile number from DB.  
query = upload.objects.mongo_aggregate([{'$project': {'mobile_number':'$mobile_number'}}] )   
query_list = []  
for i in query:  
   query_list.append(i['mobile_number']) #adding only mobile numbers in list.  

Ошибка: иногда я получаю ошибку CursorNotFound, а иногда - ошибку MasterNotFound.

...