Mongomapper:“SQL JOIN”查询风格

发布于 2024-11-26 10:21:28 字数 558 浏览 2 评论 0原文

我有两个模型:

class TrackItem
  key :state, Integer, :default => 1

  many :track_jobs
end

class TrackJob
  key :invoke_at, Time

  belongs_to :track_item
end

我想使用 join 进行查询:

item = TrackItem.create(:state => 1)
item.track_jobs.create(:invoke_at => Time.now)

TrackJob.where("track_item.state" => 1).all # => []

返回空数组。问题出在哪里?

MongoDB 日志:

MONGODB track_tweets_development['track_tweets.models.track_jobs'].find({:"track_item.state"=>1})

I have two models:

class TrackItem
  key :state, Integer, :default => 1

  many :track_jobs
end

class TrackJob
  key :invoke_at, Time

  belongs_to :track_item
end

I want make query with join:

item = TrackItem.create(:state => 1)
item.track_jobs.create(:invoke_at => Time.now)

TrackJob.where("track_item.state" => 1).all # => []

Return empty array. Where is problem?

MongoDB log:

MONGODB track_tweets_development['track_tweets.models.track_jobs'].find({:"track_item.state"=>1})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自由范儿 2024-12-03 10:21:28

我不熟悉 Ruby,但试试这个:

TrackItem.where(:state => 1).first.track_jobs # => should result in all specified track_jobs (so the one you created at line 2)

由于您将跟踪作业添加为嵌入式文档,因此您可以查询(父)文档。它会自动包含您的所有 track_jobs

I'm not familiar with Ruby, but try this:

TrackItem.where(:state => 1).first.track_jobs # => should result in all specified track_jobs (so the one you created at line 2)

Since you're adding track-jobs as a embedded document, you can query the (parent) document. It'll automatically contain all your track_jobs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文