我有一些代码需要在我的mongoDB数据库中更新记录。所以我首先找到记录,然后我更新记录。但是,这些记录有很多与它们一起存储的文本数据,所以我不想在返回时检索整个文档;只是为了让我可以更新它。我认为,如果我在mongoid中使用“only(...)”方法,那只会返回该属性。尽管这些查询似乎运行得非常缓慢,但我不确定他们是否完成了我认为他们正在完成的任务。MongoDB/mongoid update_attributes方法慢吗?
d = Document.only(:title).find(title) # using 'title' as key in mongoDB
d.update_attributes({ author: "author_name" })
是否有更快的方式来执行这个所需的查询?
在答案上添加'Document.where(title:title).update_all(作者:“作者”)''。但是这会跳过验证。 – rubish
这与jacobra目前所做的功能相当。它是'$ set'运算符,它允许更新记录的一部分而不用提取整个事物。 – Emily
这个查询不需要提取文档就可以转换为'$ set'。只是一个更好的语法:) – rubish