gpt4 book ai didi

javascript - 使用 mongo 脚本导入 JSON

转载 作者:可可西里 更新时间:2023-11-01 09:56:38 25 4
gpt4 key购买 nike

我正在尝试编写一个 mongo 脚本 以从 JSON 文件中导入一个 jsonArray。我的脚本是 .js 格式,我在 mongo shell 中使用 load() 命令执行它。是否可以使用 mongo 脚本 来实现?

我知道我可以改用 mongoimport。但我想知道一种使用脚本来完成此操作的方法。

下面给出了我当前缺少导入部分的脚本的内容..

var db = connect("localhost:27017/fypgui");
//Import json to "crimes" collection here
var crimes = db.crimes.find();
while (crimes.hasNext()){
var item = crimes.next();
var year =(item.crime_date != null)?(new Date(item.crime_date)).getFullYear():null;
db.crimes.update( {_id: item._id}, {$set: {crime_year: year}});
}

最佳答案

这个问题还有另一个答案。尽管它有点旧,但我会回应。

使用 mongo shell 可以做到这一点。

您可以通过在 JSON 前加上 var myData= 将其转换为有效的 JavaScript,然后使用 load() 命令加载 JavaScript。在 load() 之后,您将能够通过 myData 对象从您的 mongo 脚本中访问您的数据。

data.js

var myData=
[
{
"letter" : "A"
},
{
"letter" : "B"
},
{
"letter" : "C"
}
]

read.js

#!/usr/bin/mongo --quiet

// read data

load('data.js');

// display letters

for (i in myData) {
var doc = myData[i];
print(doc.letter);
}

编写 JSON 最简单的方法是将结果加载到单个对象中。在开头使用 var result={} 初始化对象,然后在最后使用 printjson() 进行输出。使用标准重定向将数据输出到文件。

write.js

#!/usr/bin/mongo --quiet

var result=[];

// read data from collection etc...
for (var i=65; i<91; i++) {
result.push({letter: String.fromCharCode(i)});
}

// output
print("var myData=");
printjson(result);

shebang 行 (#!) 将在 Unix 类型的操作系统(Linux 或 MacOs)上工作,它们也应该在带有 Cygwin 的 Windows 上工作。

关于javascript - 使用 mongo 脚本导入 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27670996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com