Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何删除从csv导入的ObjectId的引用_Mongodb - Fatal编程技术网

Mongodb 如何删除从csv导入的ObjectId的引用

Mongodb 如何删除从csv导入的ObjectId的引用,mongodb,Mongodb,我已将csv文件导入到集合中 我的文档保存得很好 "_id" : "ObjectID(53874d952f92e2af1a5f0afb)" 我无法对此提出质疑 有人能帮我删除ObjectId的引号吗CSV不能完全保留字段的类型,并且可以显示字符串和整数(不是Object\u id)。如果我是你,我会用最合适的语言编写一个解析器,并在ObjectID中转换你的id 另一种方法(如果您的_id不重要),您可以将csv标题中的_id更改为任何其他名称,并且在导入期间,mongo将创建新id,然后您将

我已将csv文件导入到集合中

我的文档保存得很好

"_id" : "ObjectID(53874d952f92e2af1a5f0afb)"
我无法对此提出质疑


有人能帮我删除
ObjectId

的引号吗CSV不能完全保留字段的类型,并且可以显示字符串和整数(不是Object\u id)。如果我是你,我会用最合适的语言编写一个解析器,并在ObjectID中转换你的id

另一种方法(如果您的_id不重要),您可以将csv标题中的_id更改为任何其他名称,并且在导入期间,mongo将创建新id,然后您将转到并删除您创建的字段


下次您可以使用来保留类型。

假设您的集合名称为myCollection。 这样做:

db.myCollection.forEach(function(doc) { 
   var oldId = doc._id;
   var newIdStr =  doc._id.replace(/ObjectID\((\w+)\)/g,"\$1");
   var newObjId = ObjectId(newIdStr);
   doc._id = newObjId;
   db.myCollection.save(doc);
   db.myCollection.remove({_id:oldId});
});

我再次面临同样的问题。我想我们无法导入csv文件。需要导出.json文件,这里没有其他解决方案,它没有更新,它正在使用新id添加新记录,但是是的,我们需要删除旧记录。我已经纠正了这一点。