Подтвердить что ты не робот

Как вставить запись из одной базы данных mongo в другую?

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

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

где mySourceCollection находится на liveDatabase и theDestinationCollection находится на testDatabase.

4b9b3361

Ответ 1

Используйте use: -)

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

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

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

Ответ 2

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

db = db.getSiblingDB("otherdb")

Дополнительная информация здесь: http://www.mongodb.org/display/DOCS/Scripting+the+shell