gpt4 book ai didi

ruby-on-rails - 如何使用 mongoid 将 add_to_set 添加到多个数组并在单个查询中进行触摸

转载 作者:可可西里 更新时间:2023-11-01 10:32:40 26 4
gpt4 key购买 nike

我希望添加到多个集合,同时更新 updated_at 时间戳(触摸)。我可以使用 mongo 驱动程序做到这一点:

db.mycollection.update({"_id": ObjectId("911")},
{
$addToSet: { "hashtags": {$each: ["#test1", "#test5"]}, "new_hash": {$each: ["test9"]} },
$set: {"updated": "current time 3"}
}
)

我如何在 Rails 应用程序中使用 mongoid 在单个更新查询中执行此操作。现在,我需要使用 mongoid 进行 3 次写入:

my_object.add_to_set("hashtags", ["#test1", "#test5"])
my_object.add_to_set("new_hash", ["test9"])
my_object.touch

最佳答案

您必须使用 Moped,Mongoid 驱动程序(此处的文档:http://mongoid.org/en/moped/docs/driver.html)。

像这样的东西应该可以解决问题:

my_query = {
'$addToSet' => { "hashtags" => {'$each' => ["#test1", "#test5"]}, "new_hash" => {'$each' => ["test9"]} },
'$set' => {"ts" => Time.now}
}
MyClass.collection.find('_id' => my_object.id).update(my_query)

关于ruby-on-rails - 如何使用 mongoid 将 add_to_set 添加到多个数组并在单个查询中进行触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19539346/

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