加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用原子拉动删除MongoMapper中的嵌入式文

发布时间:2020-12-17 01:21:57 所属栏目:百科 来源:网络整理
导读:我成功地使用了MongoMapper对原子“$push”和“$set”的内置支持,但无法弄清楚“$pull” class Feed include MongoMapper::Document many :storiesendclass Story include MongoMapper::EmbeddedDocument key :title,Stringendfeed = Feed.firststory = Stor
我成功地使用了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( ??? )

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

解决方法

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读