小编Ser*_*sev的帖子

mongoid,如何将结果与map/reduce合并

我尝试使用reduce但我不知道如何调用输出.例:

@results = Article.collection.map_reduce(map, reduce, :out => 'test')

@results.find()
 => <Mongo::Cursor:0x2c276c4 namespace='myapp_development.test' @selector={} @cursor_id=> 
Run Code Online (Sandbox Code Playgroud)

当我尝试:

@results1 = Article.collection.map_reduce(map, reduce, :out =>{reduce: 'test'}
Run Code Online (Sandbox Code Playgroud)

预期结果是重复@results.但我运行@ results1.find().to_a我认为它与@results相同

如何使用mongoid在rubyrails中调用命名空间的结果?

ruby-on-rails mongoid ruby-on-rails-3

4
推荐指数
1
解决办法
3889
查看次数

Ruby - 如果变量不存在,我该如何处理它?

我想要做 puts blob

但如果blob变量不存在,我得到

NameError: undefined local variable or method `blob' for main:Object
Run Code Online (Sandbox Code Playgroud)

我试过了

blob?  
blob.is_a?('String')
puts "g" if blob  
puts "g" catch NameError
puts "g" catch 'NameError'
Run Code Online (Sandbox Code Playgroud)

但没有工作.

我可以通过使用@instance变量来绕过它,但这就像我应该知道的那样作弊并且相应地处理没有价值的问题.

ruby

4
推荐指数
1
解决办法
2677
查看次数

deployd上的图像共享

我最近开始尝试Deployd.它(类似)类似于流星.

这可能是业余问题,但如果我的收藏包含图像,会发生什么?

我如何将其上传到MongoDB @ deployd仪表板?

javascript mongodb deployd

4
推荐指数
2
解决办法
1702
查看次数

红宝石收集独特的元素

我有一些哈希

a = [{name:"x", long:1.0, lat:2.0}, 
     {name:"y", long:2.0, lat:3.0}, 
     {name:"z", long:1.0, lat:2.0}]
Run Code Online (Sandbox Code Playgroud)

如何删除{name:"x", long:1.0, lat:2.0},哪些coords等于最后一个元素,其他单词我需要留下最后(在我的情况下:with name:"z")哈希与唯一的coords并删除所有以前的元素与相同的coords

ruby hash

4
推荐指数
1
解决办法
2028
查看次数

在Ruby中对数字字符串进行排序

我有一个字符串版本号的数组,我想排序,但不能为我的生活让他们按我想要的方式排序:

versions = [ "1.0.4", "1.0.6", "1.0.11", "1.1.9", "1.1.10", "1.0.16" ]

versions.sort_by {|v| [v.size]}
=> ["1.0.4", "1.0.6", "1.1.9", "1.0.11", "1.1.10", "1.0.16"]
Run Code Online (Sandbox Code Playgroud)

试图实现:

=> ["1.0.4", "1.0.6", "1.0.11", "1.0.16", "1.1.9", "1.1.10"]
Run Code Online (Sandbox Code Playgroud)

它似乎与词典编排有关,但我很难制定出我需要应用的排序规则.

任何帮助或正确方向的一点将不胜感激.

ruby sorting

4
推荐指数
1
解决办法
138
查看次数

Ruby的数组如何工作?

当我输入

p [[2,1],3,4][1][1]
Run Code Online (Sandbox Code Playgroud)

它将输出1.

为什么会这样?

ruby arrays

4
推荐指数
1
解决办法
85
查看次数

git checkout。(点)交互式

我知道这git checkout .是git宇宙中最危险的命令之一(正确地如此)。有没有办法使其互动?就像rm命令如何与-ioption一起使用。

我正在寻找一些类似的东西

git checkout . -i
Run Code Online (Sandbox Code Playgroud)

git

4
推荐指数
1
解决办法
567
查看次数

如何为 MongoDB 社区版实现静态数据加密?

我浏览了MongoDB 文档,这些文档解释了如何配置仅在 MongoDB Enterprise 中可用的加密。

如何在MongoDB Community Edition v3.4 中实现静态数据?

security encryption mongodb node.js mongodb-query

4
推荐指数
1
解决办法
6379
查看次数

猴子修补:define_method优先于bind吗?

在下面的代码片段中,我Foo#bar用一个define_method块来修补补丁.初始化一个新实例后Foo,我通过bind调用父类bar方法覆盖它,但是当我调用该方法时,调用该块定义的define_method块.为什么bind调用不会改变方法的行为?

class OriginalFoo
  def bar
    puts 'in OriginalFoo!'
  end
end

class Foo < OriginalFoo
  def bar
    puts 'in Foo'
  end
end

class Foo < OriginalFoo
  old_bar = instance_method(:bar)
  define_method(:bar) do
    puts 'in define_method block'
    old_bar.bind(self).call
  end
end

foo_instance = Foo.new # => #<Foo:0x00007fe3ff037038>
OriginalFoo.instance_method(:bar).bind(foo_instance) # => #<Method: OriginalFoo#bar>
foo_instance.bar
# >> in define_method block
# >> in Foo
Run Code Online (Sandbox Code Playgroud)

ruby

4
推荐指数
1
解决办法
42
查看次数

如何使用三元运算符将值推入数组?

数组返回的是布尔值,而不是三元运算符分配的值

和代码...

arr = []
arr <<  true == false ? 'a' : 'b'
# Expecting, the output of arr to be ['b']. But instead, I was getting [true] 
Run Code Online (Sandbox Code Playgroud)

为什么会这样呢?

为了获得正确的价值,我必须这样做。

arr << if true == false
         'a'
       else
         'b'
       end  

# and also, = also works fine
arr =  true == false ? 'a' : 'b' # arr has 'b'

Run Code Online (Sandbox Code Playgroud)

为什么使用三元运算符时行为会有所不同?

ruby

4
推荐指数
2
解决办法
173
查看次数