- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我不能使用 Array#shuffle
,因为我没有获取所有文档(我最多只获取 20 个文档)。我如何使用 MongoMapper(即在 MySQL 中使用 ORDER BY RAND()
)从 MongoDB 数据库中获取随机文档?
最佳答案
没有类似于ORDER BY RAND()
的技术。即使在 MySQL 中,也建议避免使用它(在大表上)。
不过,您可以应用一些常用技巧。
例如,如果您知道 id 的最小值和最大值,则在该范围内选择一个随机值并获取下一个对象。
db.collection.find({_id: {$gte: random_id}}).limit(1);
重复 20 次。
或者您可以自己向每个文档添加“随机”字段(并每隔一段时间重新计算一次)。这样您就不会在每个查询中获得真正随机的结果,但它会非常便宜。
db.collection.find().sort({pseudo_random_field: 1}).limit(20)
// you can also skip some records here, but don't skip a lot.
关于ruby - 如何使用 MongoMapper 以随机顺序获取文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195972/
如果我有: class Post include MongoMapper::Document has_many :comments end 如果我这样做: class Comment in
这是我的 irb session : irb(main):001:0> class User irb(main):002:1> include MongoMapper::Document irb(ma
我有一个带有嵌入文档的 mongomapper 文档,我想复制它。 本质上,我想做的是这样的: customer = Customer.find(params[:id]) new_customer =
我试图通过将类继承与 MongoMapper 一起使用来获得更好、更有条理的结果,但遇到了一些麻烦。 class Item include MongoMapper::Document key
有没有办法保存 MongoMapper 模型实例,以便不执行验证但调用回调?这类似于 ActiveRecord 的 whatever.save(false) 我在网上找到了一段代码,可以用来绕过验证和
在 MongoMapper 中,类可以从父类(super class)继承键和方法。在这里,我编写了包含整数键“baz”的代码,以及将其实例的 baz 值设置为连续计数的朴素排序方法。 require
我已经使用 MongoMapper 几个星期了,并且喜欢它的很多功能。最吸引人的功能之一是能够定义自定义 key 类型和验证方法(请参阅本页上的“自定义类型”:http://mongomapper.c
假设我们有两个模型,Task 和 User。所以一个用户可以有很多任务,任务也应该可以有很多用户。但是,任务还应该有一个独特的创建者,他也是用户。 例子: 这个上下文中的任务是这样的:任务ID、任务创
我有一个带有链接数组的 ruby 类。现在我可以保存一个 Paper 对象,即使该数组包含不是有效 url 的链接。我有一个遍历数组并验证 url 并在 url 无效时返回 false 的方法。但
我需要编写一个查询来查找在指定日期创建的所有文档。 假设日期是今天。 我试过了: Document.all(:created_at => Date.parse(Time.now.strftime('%
有没有人有很好的 MongoMapper 文档资源?我一直在阅读 mongoDB 文档,但其中很多都没有转换为 ruby/mm。我一直在试图弄清楚如何做一个 SELECT FROM WHERE E
我怎样才能让一个 mongo 模型进入一个数据库,而另一个使用另一个数据库? 我已发送此链接 https://github.com/jnunemaker/mongomapper/blob/master
我有一个 Rails 应用程序,当前使用 activerecord 来存储和查询产品。 每个产品都有一个类别和子类别,每个子类别由我可以在应用程序中创建的多个字段定义。由此,当用户想要输入特定产品时,
我不能使用 Array#shuffle,因为我没有获取所有文档(我最多只获取 20 个文档)。我如何使用 MongoMapper(即在 MySQL 中使用 ORDER BY RAND())从 Mong
如何在运行时改变当前的MongoMapper数据库? 此外,有没有一种方法可以将模型映射到名称是动态计算的数据库?例如: class MyEntity include MongoMapper:
我正在将 MongoMapper 用于我们的主数据存储,我想针对我们副本集中的从节点而不是主节点运行报告作业。不幸的是,我们的大部分后台作业都是读/写的,需要与主作业相对应。 有什么方法可以做如下的事
MongoMapper with Identity Map 是否支持级联删除?它似乎并不是真的,但我可能在文档中的某处遗漏了一些东西。请考虑以下事项: class User include Mon
尝试使用名为“buy-only”的键为文档设置 MongoMapper 对象。当我尝试启动应用程序时,我得到了这个 (eval):1: syntax error, unexpected '-', ex
我正在寻找使用 MongoMapper 的预加载关联文档。假设我有一位作者对帖子有 :has_one 条件,我应该能够使用单个查询加载作者 Post.find(:all, :include => :a
在 MongoMapper 文档中我找不到任何实际编辑文档的方法。我在别处也找不到任何东西。我能找到的唯一方法是这种方法: class User include MongoMapper::Docu
我是一名优秀的程序员,十分优秀!