MongoDB:как объединить две коллекции/базы данных в одну?
во-первых обратите внимание, что этот вопрос отличается от следующих двух
в MongoDB: объединение данных из нескольких коллекций в одну..как?
объединение двух коллекций в MongoDB
я объясню следующим образом:
у меня есть две базы данных с именем:DB_A и DB_B в моем mongodb.
каждая база данных имеет одну коллекцию с то же имя называется store.
обе коллекции имеют много документов, которые имеют точно такую же структуру {key: "key1", value:" value1"} и т. д.
на самом деле, я должен был только создать DB_A и вставьте все документы в DB_A. Но позже, когда я сделал свой второй раунд вставки, я сделал ошибку, введя неправильное имя в качестве имени базы данных.
Итак, теперь каждая база данных имеет размер 32GB, я хочу объединить две базы данных.
один проблема / ограничение заключается в том, что свободное пространство теперь доступно только 15GB, поэтому я не могу просто copy все от DB_B to DB_A.
мне интересно, могу ли я сделать move? или какой самый простой / лучший/быстро способ объединения двух простых баз данных? Я предпочитаю самый эффективный способ, как просто повторно вставить 32GB в DB_A займет довольно много времени.
1 ответов
Я думаю, что самый простой (и, возможно, единственный) способ-написать сценарий, который объединяет два документа баз данных после документа.
- получить первый документ из DB_B.
- вставьте его в DB_A, если это необходимо.
- удалить его из DB_B.
- повторять до конца.
вместо удаления документов из исходной БД (DB_B), вы можете просто читать документы в пакетах. Это должно быть более эффективно, но немного сложнее код (особенно если вы никогда этого не делали).