Я создал следующую схему в MongoDB:Как часто обновлять все документы со случайным числом в MongoDB
{
"_id" : ObjectId("52d5c71be4b0a5cd12da5e8b"),
"edges" : [
{
"edge_id" : "0",
"dst" : NumberLong(1),
"score" : ***Numeric Value***
},
{
"edge_id" : "1",
"dst" : NumberLong(6),
"score" : ***Numeric Value***
}
],
"src" : NumberLong(0)
}
выше коллекция MongoDB есть миллионы записей. Мое требование: 1. Обновите поле «Оценка» со случайным числовым значением. 2. Все обновления должны завершаться через несколько секунд (1-10 секунд). 2. Выполните описанную выше процедуру обновления бесконечно.
Я хотел бы выполнить вышеупомянутую задачу либо с использованием mongodb, либо с использованием комбинации mongodb и Java.
Что было бы лучшим способом выполнить вышеуказанную задачу ..?
Я создал миллионы случайных чисел, используя генератор случайных чисел XORShift (код JAVA) и вставил в другую коллекцию mongodb с именем (randomNumbers). Теперь проблема заключается в том, как эффективно вывести эти цифры из одной коллекции в другую ...? Генерация и загрузка этих номеров в сбор занимает 1 сек. – Galaxy
Лучший способ «подтолкнуть их к другой коллекции» - это MapReduce. – vbo
Кстати, вы не можете обновить миллион записей за 10 секунд. Если вы не очертите эти записи через сотни машин, конечно. – vbo