Grails Gorm mongodb 1.0-M2-保存/获取时选择收藏

Grails Gorm mongodb 1.0-M2-保存/获取时选择收藏,grails,mongodb,gorm,grails-plugin,Grails,Mongodb,Gorm,Grails Plugin,在mongodb中保存/获取域对象时,是否有方法动态设置集合?我想限制用户每次获取/保存某个集合,因为它将是一个多租户数据库,每个客户都有自己的集合(我不使用hibernate,所以多租户插件不是一个选项) 我的想法是建立一个基于会话的服务来识别正确的集合(集合名称将取决于url解析等) 我想在插件中用doWithDynamicMethods覆盖所有域类的get/set。但我需要能够将集合设置为“保存”和“获取” 所以我知道你可以用数据库mongo对象指定一个集合,但是你能在调用“save”时传

在mongodb中保存/获取域对象时,是否有方法动态设置集合?我想限制用户每次获取/保存某个集合,因为它将是一个多租户数据库,每个客户都有自己的集合(我不使用hibernate,所以多租户插件不是一个选项)

我的想法是建立一个基于会话的服务来识别正确的集合(集合名称将取决于url解析等)

我想在插件中用doWithDynamicMethods覆盖所有域类的get/set。但我需要能够将集合设置为“保存”和“获取”

所以我知道你可以用数据库mongo对象指定一个集合,但是你能在调用“save”时传递“collection”名称吗。Person p=新的Person(姓名:john).save(集合:collectionNameService.getCollectionName(Person),flush:true)

在这种情况下,我可以覆盖域对象的通用save/get,并使用额外的“collection”参数调用save

建议(欢迎:)


诚恳地说,Per

我做了一些非常类似的事情,但是使用了一些PHP库

但是,修改“save”和“load”方法以从正确的集合中加载确实是有意义的。MongoDB将自动为您创建集合,因此在基本级别上这将起作用

只有两个主要注意事项:

  • 您正在向这些新集合添加索引吗?您不希望在每个操作上都“确保索引”,但您可能希望通过某种方式知道已创建了新集合,以便可以索引(可能是服务器上的作业)
  • 你计划拥有多少用户?您可能希望了解有关的一些限制

  • 我做了一些非常类似的事情,但是使用了一些PHP库

    但是,修改“save”和“load”方法以从正确的集合中加载确实是有意义的。MongoDB将自动为您创建集合,因此在基本级别上这将起作用

    只有两个主要注意事项:

  • 您正在向这些新集合添加索引吗?您不希望在每个操作上都“确保索引”,但您可能希望通过某种方式知道已创建了新集合,以便可以索引(可能是服务器上的作业)
  • 你计划拥有多少用户?您可能希望了解有关的一些限制

  • 你好谢谢你的回答!1:我正在使用一个称为GORM的更高抽象级别来处理索引创建,我想我必须确保在创建新集合时也会发生这种情况。2:我计划有0..n个用户;)。我不知道集合的数量是有限制的(特别是因为你也可以切分集合…),所以我想我必须实现某种阈值,并将其分散到不同的数据库中。据我所知,为每个用户创建一个新的数据库并不十分经济,这就是为什么我首先需要集合。嗨!谢谢你的回答!1:我正在使用一个称为GORM的更高抽象级别来处理索引创建,我想我必须确保在创建新集合时也会发生这种情况。2:我计划有0..n个用户;)。我不知道集合的数量是有限制的(特别是因为你也可以切分集合…),所以我想我必须实现某种阈值,并将其分散到不同的数据库中。据我所知,为每个用户创建一个新的数据库并不十分经济,这就是为什么我首先需要集合。