Javascript MongoDB赢得';加载js文件
我有一个文件“world.json”导入到“worlds”MongoDB数据库中的“mondes”集合中,其结构如下Javascript MongoDB赢得';加载js文件,javascript,mongodb,mongodb-query,Javascript,Mongodb,Mongodb Query,我有一个文件“world.json”导入到“worlds”MongoDB数据库中的“mondes”集合中,其结构如下 { "_id": ObjectId("5dff5a2d98dfef12b0c590b7"), "Code": "BFA", "Name": "Burkina Faso", "Continent": "Africa", "Region": "Western Africa", "SurfaceArea": 274000, "In
{
"_id": ObjectId("5dff5a2d98dfef12b0c590b7"),
"Code": "BFA",
"Name": "Burkina Faso",
"Continent": "Africa",
"Region": "Western Africa",
"SurfaceArea": 274000,
"IndepYear": 1960,
"Population": 11937000,
"LifeExpectancy": 46.7,
"GNP": 2425,
"GNPOld": 2201,
"LocalName": "Burkina Faso",
"GovernmentForm": "Republic",
"HeadOfState": "Blaise Compaor�",
"Capital": {
"ID": 549,
"Name": "Ouagadougou",
"District": "Kadiogo",
"Population": 833000
},
"Code2": "BF",
"Cities": [
{
"ID": 550,
"Name": "Bobo-Dioulasso",
"District": "Houet",
"Population": 300000
},
{
"ID": 551,
"Name": "Koudougou",
"District": "Boulkiemd�",
"Population": 105000
}
],
"NotOffLang": [
{
"Language": "Busansi",
"Percentage": 3.5
},
{
"Language": "Dagara",
"Percentage": 3.1
},
{
"Language": "Dyula",
"Percentage": 2.6
},
{
"Language": "Ful",
"Percentage": 9.7
},
{
"Language": "Gurma",
"Percentage": 5.7
},
{
"Language": "Mossi",
"Percentage": 50.2
}
]
}
我编写了存储在c:\$Mongo\bin中的以下脚本“update.js”
db.mondes.find({“大陆”:“非洲”}).forEach(
功能(doc){
temp=doc.Capital.Population;
如果(doc.Capital.Population>500000){
变量温度=温度+1000;
}
其他条件(doc.Capital.Population<500000){
温度=温度+500;
}
doc.Capital.Population=temp;
世界银行保存(doc);
}
);
当我试图在mongo的shell中加载(“update.js”)时,它给了我以下错误:
2019-12-22T23:02:46.724+0100 E QUERY [js] uncaught exception: TypeError: doc.Capital is undefined :
@update.js:7:1
DBQuery.prototype.forEach@src/mongo/shell/query.js:494:9
@update.js:3:1
@(shell):1:1
2019-12-22T23:02:46.724+0100 E QUERY [js] Error: error loading js file: update.js :
@(shell):1:1
即使我用小写字母而不是大写字母写大写字母,上面的错误仍然存在。最后我用((doc |{}).capital{}.Population而不是
doc.Capital.Population你能打印你的
文件吗?你收藏了多少文件?可能还有其他未定义大写
字段的文档。再次检查。238所有文档都包含Capital字段