首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Moped:重命名mongodb集合

Moped:重命名mongodb集合
EN

Stack Overflow用户
提问于 2012-10-10 16:25:40
回答 3查看 756关注 0票数 1

如何使用Mongoid + Moped驱动程序来重命名一个集合?

是否有http://docs.mongodb.org/manual/reference/command/renameCollection/的Moped实现

EN

回答 3

Stack Overflow用户

发布于 2012-10-10 17:22:02

重命名集合是一项严重的更改,在分片环境中不起作用。

但是,您可以通过应用程序使用(可能) admin db和db命令来执行此操作。所以我可能会去看看:the Moped Driver Docs

票数 0
EN

Stack Overflow用户

发布于 2015-11-13 07:04:21

可以通过Moped::Collection#rename方法重命名集合。

下面是一个示例,将"foo“集合重命名为"bar":

代码语言:javascript
复制
Mongoid::default_session[:foo].rename("bar")

在引擎盖下,该命令的结构如下:

代码语言:javascript
复制
session.
  with(database: "admin", read: :primary).
  command(renameCollection: "#{database.name}.#{name}", to: "#{database.name}.#{to_name}")
票数 0
EN

Stack Overflow用户

发布于 2018-04-05 04:00:40

我最近刚迁移到Mongoid 7.x,会话不再存在(现在是客户端)

该应用编程接口似乎删除了.rename(),因此您可以使用以下代码:

代码语言:javascript
复制
client = Mongo::Database.new(Mongoid.default_client, Mongo::Database::ADMIN, Mongoid.default_client.database.options)
client.command(renameCollection: "#{source_db}.#{source_collection}", 
    to: "#{target_db}.#{target_collection}", dropTarget: true)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12815054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档