2015-06-13 2 views
-1

Я извлекаю некоторые записи, и они содержат массив, содержащий два дополнительных поля. Например, извлекаются данные, как это:Назначить значение массива локальной переменной

{"id": 1, "name": "Govind", "Array": [{"subject": "maths", "score": 70}, {"subject": "maths", "score": 80}, {"subject": "english", "score": 90}]} 

Я хочу, чтобы присвоить значение "score" локальной переменной, где "subject" является "maths", так что я могу иметь что-то вроде этого:

var1 = 70 and var2 = 80 

код оснастки :

try : 
cursor = db.students.find().sort('_id',pymongo.ASCENDING) 

for loop in cursor: 
    for item in loop: 
     if loop[item] is "type": 
      #here i need to check value of array elements and then remove them from array. 
      print key #loop[item] 

первый для цикла дает мне запись. второй для циклов цикла, над элементом которого является массив Мне также необходимо получить доступ к элементам массива и выполнить сравнение для более низкого значения.

Выход я получаю как это

**193 
govind 
[{u'score': 47 , u'type': u'exam'}, {u'score': 41 , 
u'type': u'quiz'}, {u'score': 70 , u'type': u'homework'}, {u'score' 
: 48 , u'type': u'homework'}]** 
+0

я хочу, чтобы сравнить множество «математика», а затем удалить элемент массива с низким показателем. –

+0

Этот пример представляет собой сценарий, а не фактические фактические данные. моя цель - удалить запись из массива с более низким счетом. –

+0

Моя конечная запись будет следующей: {"id": 1, "name": "Govind", "Array": [{"subject": "maths", "score": 80}, {"subject": " english "," score ": 90}] –

ответ

0

Получили решение.

петля на массиве и доступе к элементам с использованием

loopindex[key] 
Смежные вопросы