从JSON文件中提取数据

时间:2017-11-01 10:37:50

标签: mongodb groovy

我有三个JSON文件“朋友”和粉丝。

朋友:包含有关朋友及其推文的信息 粉丝:包含关于粉丝及其推文的信息 推文:包含所有推文

我想提取以下信息并将其存储在名为“friends”的MongoDB集合中

ID_STR,   名称,   描述,   favorites_count,   FOLLOWERS_COUNT,   FRIENDS_COUNT,   语言,   地点,   屏幕名称,   URL,   utc_offset

对我来说,棘手的部分是“每个用户(朋友或关注者)必须在新的字段推文中包含其推文”

有关如何实现这一目标的任何建议?

这就是我现在正在做的事情:

JsonSlurper slurper = new JsonSlurper()
def friends = slurper.parseText(new File('./friends.json').text)
def followers = slurper.parseText(new File('./followers.json').text)
def tweets = slurper.parseText(new File('./tweets.json').text)

friends.users.forEach{ fr ->

    def frnds = mongo.friends << [
        [
            id_str: fr.id_str,
            name: fr.name,
            description: fr.description,
            favorites_count: fr.favourite_count,
            followers_count: fr.followers_count,
            friends_count: fr.friends_count,
            language: fr.language,
            location: fr.location,
            screen_name: fr.screen_name,
            url: fr.url,
            utc_offset: fr.utc_offset
        ]
    ]
}

错误:线程“main”中的异常groovy.lang.MissingPropertyException:没有这样的属性:类的朋友

1 个答案:

答案 0 :(得分:2)

您可以使用mongoose population方法显示/存储用户的对象。

例如

followers:[{
    type:Schema.Types.ObjectId,
    ref:'follower'
}]

你可以使用引用用户id并在数组中存储id只会存储在followers数组中,你可以将所有id填充到object中,所以尝试在mongoose模型中使用ref

这可能看起来有点令人困惑,但考虑在mongoose populate method查看 并且还要看一下这个video tutorial

希望它有所帮助!