Я относительную новичку в MongoDB, но из того, что я прочитал, есть различные методы для поиска средних средних и сумм значений в базе данных Mongodb, с различными преимуществами и недостатками для каждого.
Я в первую очередь прошу метод нахождения суммы выбора значений, а также среднее выделение значений, в максимально эффективном (быстрой) методах.
Документы в сборе запрашивают напоминают эту структуру (с большим количеством других полей):
{
"_id": ObjectId('4e650107580fd649e5000005'),
"date_added": ISODate("2011-09-05T00:00:00Z"),
"value": 1500
}
Докальтические вещи, такие как суммы, в моем приложении, не всегда возможно, потому что выбор значений, которые должны быть изменены ( На основании диапазонов даты - например, между датой начала и датой окончания, что является средней). Это аналогичная проблема с предварительным средним значением.
Из того, что я прочитал, MapReduce, безусловно, не идеален для поиска в режиме реального времени (то есть по требованию), так что, кажется, тоже выходит из вопроса.
На данный момент я запрашиваю коллекцию таким образом: (Примечание: это использует Pymongo
)
response = request.db['somecollection'].find(
{
'date_added': {
'$gte': date_start,
'$lte': date_end
}
},
{
'value':1
}
).limit(500)
, затем выполнение расчета в Python с использованием для цикла
ответ. Предел 500 результатов является произвольным, чтобы удержать его слишком медленно. Я только извлекаю ценность, и ни одна из других областей.
Это наиболее эффективный метод выполнения этой исчисления, или есть ли другие методы для достижения того, что мне нужно?
Предостережения:
, потому что я буду Вероятно, используйте Sharding в будущем редактирование:
я должен Укажите, что количество документов, возвращенных из запроса, которое я опубликовал выше, может быть чем-либо от 1 документа до сотен, но, вероятно, будет иметь максимальное количество возвращенных документов около 150 (в среднем около 60 или 70)
-121-12 --1462518-, когда я делаю следующее
$('#tree').dynatree("option","initAjax",{url:"http://google.com"});
Я хочу, чтобы Dynatriee забыть о текущих данных дерева и перезагружаться с новыми данными из указанного URL вместо. Но я нахожу, что это не делает этого по умолчанию.
Спасибо.