Как вставить запись из одной базы данных Монго в другую? - PullRequest
16 голосов
/ 14 января 2011

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

db.mySourceCollection.find (). ForEach (function (x) {db.theDestinationCollection.save (x)});

, где mySourceCollection включено liveDatabase и theDestinationCollection включено testDatabase.

Ответы [ 2 ]

15 голосов
/ 14 января 2011

Использование use: -)

> var documents = db.mySourceCollection.find()
> use testDatabase
switched to db testDatabase
> documents.forEach(function(x){ db.theDestinationCollection.insert(x) })

db используется для ссылки на текущую подключенную базу данных, однако вы можете переключать базы данных на лету, используя команду use, как я.Как показано выше.

Проверьте команду help в оболочке - она ​​упоминает эту команду и многое другое!

13 голосов
/ 24 сентября 2012

use dbname не работает в режиме сценариев (т.е. при сценарии оболочки с использованием javascript), поэтому вместо использования переменной db следует использовать метод db.getSiblingDB(), например ::

db = db.getSiblingDB("otherdb")

Подробнее здесь: http://www.mongodb.org/display/DOCS/Scripting+the+shell

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...