我有这个文件,我只想要它的一部分。但我不确定如何在Mongoid查询中执行此操作。
{
"_id": {
"$oid": "5297d6773865640002000000"
},
"saved_tweets": [
{
"_id": {
"$oid": "52b0856b6535380002000000"
},
"saved_id": "123456",
"tweet_ids": [
"1",
"2"
]
},
{
"_id": {
"$oid": "52b0856b6535380002000001"
},
"saved_id": "78901",
"tweet_ids": [
"3",
"4"
]
}
]}
根据saved_id,我想要的是所有tweet_ids。这就是我现在正在做的事情,我认为这是非常无效的。
existing_user = User.find_by(:social_id => social_id)
existing_user.saved_tweets.each do |saved_tweet|
if saved_id == saved_tweet.saved_id
@saved_tweet_ids = saved_tweet.tweet_ids
end
end
答案 0 :(得分:1)
user.saved_tweets.where(saved_id: user.saved_id).map(&:tweet_ids)