Мне нужно объединить две коллекции в одну, но мне нужно поместить документ только в том случае, если он не существует в первой коллекции. Как мне это сделать? Каков наилучший способ? Я видел что-то о agregation и mapreduce, но я не уверен, что использовать. Не могли бы вы мне помочь?Объединить две коллекции на mongodb
2
A
ответ
1
Это самый простой подход грубой силы, который приходит мне на ум.
Ниже, users
- это коллекция, в которую вы собираетесь скопировать документы от users2
. Я предполагаю, что _id
является ключом слияния.
use test;
db.users.insert({_id: 1, name: 'Mickey'});
db.users.insert({_id: 2, name: 'Minney'});
db.users2.insert({_id: 1, name: 'Donald'});
db.users2.insert({_id: 2, name: 'Daisy'});
db.users2.insert({_id: 3, name: 'Pluto'});
var users2 = db.users2.find();
while (users2.hasNext()) {
var u2 = users2.next();
var u = db.users.findOne({'_id': u2._id});
if (u == null) {
db.users.insert(u2);
}
}
Mickey
и Minnie
будут сохранены и будут добавлены только Pluto
к users
.
2
Я думаю, что для этого нет автоматического способа. Предположим, у вас 2 коллекции для слияния, c1 и c2 Вы можете вручную выполнить слияние с
db.c1.find().forEach(function(item) {
db.c2.insert(item);
db.c1.remove(item);
});
и должны быть осторожны с этим, потому что Монго не поддерживает мульти-документ-транзакции
Смежные вопросы
- 1. MongoDb запрос на две коллекции
- 2. Magento объединить две коллекции
- 3. Объединить две коллекции объектов
- 4. Объединить две коллекции «Красноречивый»
- 5. Группа Mongodb, соединяющая две коллекции
- 6. MongoDB: Как объединить две коллекции/базы данных вместе в один?
- 7. Как объединить две красноречивые коллекции?
- 8. Ищу эффективное решение объединить две коллекции в MongoDB
- 9. Как объединить две коллекции эффективно?
- 10. Архивирование две коллекции в MongoDB
- 11. сравнить две коллекции в MongoDB
- 12. Как слить две коллекции в mongodb
- 13. Magento: как объединить две коллекции внутри Observer?
- 14. Как объединить две коллекции в мангусте
- 15. Как объединить две наблюдаемые коллекции в коллекции Silverlight
- 16. Две коллекции mongodb в одном запросе
- 17. Убедитесь, что две коллекции Mongodb идентичны
- 18. MongoDB запрашивает две коллекции с заказами сортировки
- 19. Mongodb сравнить две большие коллекции данных
- 20. Rails: Как объединить или объединить две активные коллекции записей?
- 21. как объединить поля из коллекции MongoDB
- 22. Как объединить две базы данных mongoDB на двух разных компьютерах?
- 23. Как получить результат, соединяя две коллекции (таблицы) [Cakephp/MongoDB]
- 24. Crossreference две коллекции
- 25. Объединить коллекции в оракуле?
- 26. можно объединить коллекции с linq
- 27. Как использовать две коллекции для аутентификации zfcuser?
- 28. Объединить две функции JQuery .На
- 29. объединить две коллекции и просуммировать поля для дублированных элементов
- 30. Объединить две коллекции (с дублированием) в одну коллекцию (без дублирования)
Заканчивать этот вопрос http://stackoverflow.com/questions/9696940/merging-two-collections-in-mongodb – blackmind