我已经创建并现在想要导入一个虚拟集合。每个项目中的字段之一是“创建”和“更新”字段。我可以在 source/json 文件中放入什么,以便 MongoDb 使用当前日期和时间作为导入时的值?
这行不通
"created" : Date()
最佳答案
mongoimport
用于导入 CSV、TSV 或 JSON 格式的现有数据。如果您想插入新字段(例如 created
时间戳),您必须为其设置一个值。
例如,如果您想设置created
时间戳到当前时间,您可以从命令行获取unix时间戳(自纪元以来的秒数):
$ date +%s
1349960286
JSON <date>
representation那mongoimport
Expects 是一个 64 位有符号整数,表示自纪元以来的毫秒数。您需要将 unixtime 秒值乘以 1000 并将其包含在 JSON 文件中:
{ "created": Date(1349960286000) }
另一种方法是在插入文档后将创建的时间戳添加到文档中。
例如:
db.mycoll.update(
{created: { $exists : false }}, // Query criteria
{ $set : { created: new Date() }}, // Add 'created' timestamp
false, // upsert
true // update all matching documents
)
关于MongoDb 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12830161/