小编SFE*_*ley的帖子

带有'或'条件的MongoDB查询

所以我有一个跟踪组成员身份的嵌入式文档.每个嵌入的文档都有一个ID,指向另一个集合中的组,开始日期和可选的过期日期.

我想查询组的当前成员."当前"表示开始时间小于当前时间,并且到期时间大于当前时间OR null.

这个条件查询完全阻止了我.我可以通过运行两个查询并合并结果来实现,但这看起来很难看,需要立即加载所有结果.或者我可以将过期时间默认为在遥远的未来某个任意日期,但这似乎更加丑陋且可能更脆弱.在SQL中,我只是用"(expires> = Now())OR(expires IS NULL)表达它" - 但我不知道如何在Mongo中这样做.

有任何想法吗?首先十分感谢.

mongodb

62
推荐指数
4
解决办法
8万
查看次数

我可以在Ruby 1.9上设置默认字符串编码吗?

这可能听起来很小,但它让我疯了.自上周五在Ruby 1.9上发布一个应用程序到生产以来,我一直有很多与字符编码有关的小例外.几乎所有这些都是一些变化:

Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8
Run Code Online (Sandbox Code Playgroud)

我们有一个国际用户群,所以很多名字都包含变音符号等.如果我修复模板在一堆地方使用force_encoding,它会弹出flash消息助手.等等.

目前看起来我已经确定了我所知道的所有内容,通过在一个地方修补ActiveSupport的字符串连接,然后设置# encoding: utf-8在我的每个源文件的顶部.但是我觉得我可能必须记住为我从现在开始做的每个Ruby项目的每个文件做到这一点,永远,只是为了避免字符串分配问题,并不适合我的胃.我读到了关于-Ku开关的内容,但是所有内容似乎都警告说它是为了向后兼容并且可能随时都会消失.

所以我对1.9经验丰富的人提出的问题是:#encoding我的每个文件中都设置了真正必要的吗?在全球范围内有合理的方法吗?或者,更好的方法是在绕过内部/外部默认值的字符串的非文字值上设置默认编码?

在此先感谢您的任何建议.

ruby ruby-on-rails utf-8 character-encoding ruby-1.9

17
推荐指数
2
解决办法
2万
查看次数

Ruby 1.9中的自动加载线程安全吗?

在我看来,自从这个着名的线程以来,Ruby社区一直在关注自动加载,因为出于线程安全原因而不鼓励使用它.

有谁知道这不再是Ruby 1.9.1或1.9.2中的问题吗?我已经看过一些关于包装需求的讨论等等,但1.9更改日志(或者至少和我能找到的一样多)似乎并没有解决这个特定的问题.我想知道我是否可以在没有任何合理悲伤的情况下合理地开始自动加载仅1.9的库.

提前感谢任何见解.

ruby multithreading autoload ruby-1.9

15
推荐指数
2
解决办法
6075
查看次数