当前位置:  开发笔记 > 编程语言 > 正文

如何使用原子拉动删除MongoMapper中的嵌入式文档?

如何解决《如何使用原子拉动删除MongoMapper中的嵌入式文档?》经验,为你挑选了1个好方法。

我成功地使用了MongoMapper对原子"$ push"和"$ set"的内置支持,但无法弄清楚"$ pull"

class Feed
  include MongoMapper::Document
  many :stories
end

class Story
  include MongoMapper::EmbeddedDocument
  key :title, String
end

feed = Feed.first
story = Story.new(:title => "Hello, world!") 
Feed.push(feed.id, :stories => story.to_mongo) #works fine
Feed.set({:_id => feed.id, "stories.title" => "Hello, world!"}, "stories.$.title" => "Foo") #works fine

Feed.pull( ??? )

如何使用拉动原子地删除故事?



1> Michael Waxm..:

要使用父ID和子ID以原子方式删除嵌入的文档,您可以执行以下操作:

Feed.pull(feed.id, :stories => {:_id => story.id})

如果您已拥有父文档,则可以执行以下操作:

feed.pull(:stories => {:_id => story.id}) 

现在我对提出这个问题感到尴尬(并回答它).这非常简单.


这是StackOverflow的好处.您也不得不回答这个问题,以便其他人也可以使用这些信息.谢谢!
推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有