Ruby on rails 带Positional运算符的Mongoid更新不起作用

Ruby on rails 带Positional运算符的Mongoid更新不起作用,ruby-on-rails,ruby,mongodb,mongoid,positional-operator,Ruby On Rails,Ruby,Mongodb,Mongoid,Positional Operator,我试图使用from ruby mongoid更新mongodb嵌入式集合,但它不起作用。在mongoid查询下面 Viewcounter.collection.update({:item_id=>BSON::ObjectId('yyyy'),'viewinfos.remote_ip' => 'xxxx'},{'$inc' => {'viewinfos.$.viewcount' => 1}}) 在进一步挖掘之后,我发现没有任何mongodb查询与mongoid更新一起工作

我试图使用from ruby mongoid更新mongodb嵌入式集合,但它不起作用。在mongoid查询下面

Viewcounter.collection.update({:item_id=>BSON::ObjectId('yyyy'),'viewinfos.remote_ip' => 'xxxx'},{'$inc' => {'viewinfos.$.viewcount' => 1}})
在进一步挖掘之后,我发现没有任何mongodb查询与mongoid更新一起工作

Item.collection.update({'_id' =>BSON::ObjectId('sss')},{:isused => false})
有没有人能用mongoid更好地执行位置运算符查询

编辑

但是,根据报告,这应该是可行的。节选下面

coll.update({"_id" => doc["_id"]}, {"$set" => {"name" => "MongoDB Ruby"}})

一般的想法是,您可以下拉到ruby驱动程序(通过集合)并按如下方式操作:

Viewcounter.collection.update({"viewinfos.remote_ip" => "xxxx"}, {:$inc => {"viewinfos.$.viewcount" => 1}})

一般的想法是,您可以下拉到ruby驱动程序(通过集合)并按如下方式操作:

Viewcounter.collection.update({"viewinfos.remote_ip" => "xxxx"}, {:$inc => {"viewinfos.$.viewcount" => 1}})

没有爱?希望对你有用。没有爱?希望这对你有用。你的方法很好。但是是否有其他方法将父id与$positional运算符一起包括在内。因为我需要根据父id和嵌入字段更新嵌入的coll。您可以在查询文档中抛出额外的条件来选择所需的父项。(我想这就是你要问的)否则你可能需要在客户端编程,你的方法很好。但是是否有其他方法将父id与$positional运算符一起包括在内。因为我需要根据父id和嵌入字段更新嵌入的coll。您可以在查询文档中抛出额外的条件来选择所需的父项。(我认为这就是您要问的)否则,您可能需要在客户端以编程方式完成它。