我有500个以下格式的json文件(格式相同。只是不同的数据)。我只需要所有这些文件中的城市名称。任何人都可以帮我查询。
示例:从以下文件中,我需要输出为San Diego,Newnan,Louisville。
{
"clinical_study":{
"location": [
{
"facility": {
"address": {
"city": "San Diego",
"country": "United States"
}
}
},
{
"facility": {
"address": {
"city": "Newnan",
"country": "United States"
}
}
},
{
"facility": {
"address": {
"city": "Louisville",
"country": "United States"
}
}
}
]
}
}
答案 0 :(得分:0)
我对MongoDB有点新鲜,但听起来你不需要查询城市名称。听起来你已经在查询位置列表了,所以你需要做的只是一个循环来从每个返回的位置获取城市。
这样的事情:
// Assume here that clinical is the object in your question
var locations = clinical.clinical_study.locations;
var cityList = [];
for (var i = 0; i < locations.length ; i++ ) {
cityList[i] = locations.facility.address.city;
}
这至少是一种天真的做法。我不知道你怎么能在db查询中做到这一点(我熟悉Mongoose的快速模块,我认为不允许这样做。如果我错了,请纠正我。)
答案 1 :(得分:0)
目前还不清楚你想要什么。但无论我理解什么,你只想要来自给定样品采集结构的城市名称。您只需使用Mongo Aggregation
即可以下是获取城市的问题:
db.collectionName.aggregate({
$unwind: "$clinical_study.location"
}, {
$project: {
"_id": 0,
city: '$clinical_study.location.facility.address.city'
}
})