Mongodb 使用mongoimport时,能否指定_id应为UUID?

Mongodb 使用mongoimport时,能否指定_id应为UUID?,mongodb,mongoimport,Mongodb,Mongoimport,我正在使用mongoimport将大量CSV记录导入MongoDb。目前,默认情况下,_id字段设置为ObjectId,如图所示: "_id" : ObjectId("5fea8abcda05f098a1ac9857") 是否有一个参数可以传递给mongoimport命令,该参数将导致MongoDb在导入每个文档时为其生成新的UUID,例如: "_id" : UUID("0ef6bc1d-017d-4c85-9393-2d

我正在使用mongoimport将大量CSV记录导入MongoDb。目前,默认情况下,_id字段设置为ObjectId,如图所示:

"_id" : ObjectId("5fea8abcda05f098a1ac9857") 
是否有一个参数可以传递给mongoimport命令,该参数将导致MongoDb在导入每个文档时为其生成新的UUID,例如:

"_id" : UUID("0ef6bc1d-017d-4c85-9393-2d7832598d03")

否则,如果无法在导入时将UUID分配给_id字段,是否可以编写另一个查询来对导入的集合执行此更新?

导入时似乎无法切换到UUID,但您可以执行类似操作:

mongoimport --db <your_db> --collection tmpCol --drop --type csv --file data.csv --headerline

可能相关:

您不能也更新
\u id
?如果出现错误,备份已经是
.csv
@Minsky了。MongoDb似乎不允许此操作。尝试更新_id字段会导致它引发错误“在路径'_id'上执行更新将修改不可变字段'_id'”@DalhousieDuck有趣,感谢您的评论。
db.tmpCol.find().forEach(function (document) {
  document._id = UUID()
  db.desiredCollection.insert(document)
})