gpt4 book ai didi

json - 从 mongodb 中的 json 文件插入日期对象

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:07 25 4
gpt4 key购买 nike

我有一个包含一些数据的 JSON 文件,想要添加日期信息,然后将该 JSON 文件的内容插入到 mongoDB 中。 JSON 文件看起来像这样:

[
{
"installationTime": "How do I insert a date Object here?",
"someOtherValues": 0,
...
},
...
]

以及在node.js中的插入:

const content = await readFileAsync('pathToJSONfile.json');
// readFileAsync is fs.readFile wrapped in a promise
await db.createCollection('testCollection');
await db.collection('testCollection').insert(JSON.parse(content));

我的问题是:如何将 ISODate("2016-12-18T18:30:00Z") 之类的日期对象插入到 JSON 文件中?我在这个论坛找到了她:

"installationTime": { "$date": "2016-12-18T18:30:00Z"}

但随后我从 mongoDB 收到错误 key $date 不得以 '$' 开头

我的方法是否可以使用 json 文件和 Node 驱动程序中的插入命令?

最佳答案

我现在已经解决了这个问题:

导入 Node 模块child_process ...

从 'child_process' 导入 { exec };

...为了执行shell命令。并使用 mongoimport 插入 JSON 文件:

exec('mongoimport --jsonArray --db tstdb --collection testCollection --file pathToJSONfile.json', (error) => {
if (error) {
console.log(`exec error: ${error}`);
}
});

然后可以使用JSON文件中的$date键来导入日期对象:

"installationTime": { "$date": "2017-10-01T00:00:00.000Z" },

现在 find() 显示日期存储为 ISODate 对象:

> db.getCollection("feed_in_payments").find()
{ "_id" : ObjectId("592bd66cb3395ba514bc1005"), "installationTime" : ISODate("2000-01-01T00:00:00Z"), ...

关于json - 从 mongodb 中的 json 文件插入日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198126/

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