gpt4 book ai didi

ruby-on-rails - 带有位置运算符的 Mongoid 更新不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:57 25 4
gpt4 key购买 nike

我正在尝试使用 $ positional operator 更新 mongodb 嵌入式集合来自 ruby​​ mongoid,但它不起作用。在 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 进行位置运算符查询?

编辑

但根据 mongodb official ruby driver documentation ,这应该有效。摘录下方

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

最佳答案

一般的想法是你会下降到 ruby​​ 驱动程序(通过集合)并像这样做:

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

关于ruby-on-rails - 带有位置运算符的 Mongoid 更新不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8456069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com