我有三个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:没有这样的属性:类的朋友
答案 0 :(得分:2)
您可以使用mongoose population方法显示/存储用户的对象。
例如
followers:[{
type:Schema.Types.ObjectId,
ref:'follower'
}]
你可以使用引用用户id并在数组中存储id只会存储在followers数组中,你可以将所有id填充到object中,所以尝试在mongoose模型中使用ref
。
这可能看起来有点令人困惑,但考虑在mongoose populate method查看 并且还要看一下这个video tutorial。
希望它有所帮助!