Я хотел бы переименовать коллекцию монго в моем приложении Go. Я использую драйвер mgo, и у него нет определенного метода для этого. Кто-нибудь знает, что запрос будет использовать bson? Это команда, которую я хотел бы реализовать в Go: http://docs.mongodb.org/manual/reference/command/renameCollection/Переименовать коллекцию монго в Go, используя mgo или bson?
2
A
ответ
5
Я не использовал mgo, но это похоже на то, что вы хотите запустить сырой запрос.
http://godoc.org/labix.org/v2/mgo#Session.Run
В непосредственно Монго:
db.adminCommand({renameCollection:'yourdb.yourcollection', to:'yourdb.yournewcollection'})
Использование MgO:
session.Run(bson.D{{"renameCollection", "yourdb.yourcollection"}, {"to", "yourdb.yournewcollection"}})
Ах ок. Второй работает. Но, согласно спецификациям Mongo, я могу, по-видимому, запустить эту команду только в базе данных admin. Мое приложение создает отдельную базу данных с множеством коллекций, любой из которых мне может понадобиться переименовать. Означает ли это, что до тех пор, пока мое приложение использует базу данных, не называемую admin, я не смогу выполнить эту команду? – dmonay
База данных администратора - это специальная база данных внутри монго. Здесь mongo будет хранить административные настройки, такие как пользователи, и то, к чему у них есть доступ. Он не создается по умолчанию (afaik), просто требуется, чтобы вы могли получить к нему доступ для запуска команд администратора. Примеры: http://docs.mongodb.org/manual/tutorial/add-user-administrator/ –