我在尝试恢复数据库转储时遇到重复的 at a.a.so67813806javatimestamp**overflow**.MainActivity.onCreate(MainActivity.java:43)
问题。
_id
并且想找出它是哪个文档,以便我可以将其删除。
我已经尝试过 Failed: bulk write error: [{[{can't have multiple _id fields in one document}]},
:
aggregate
db.collection.aggregate([
{"$group" : { "_id": "$_id", "count": { "$sum": 1 } } },
{"$match": {"_id" :{ "$ne" : null } , "count" : {"$gt": 1} } }
]);
的形式为
_id
但是聚合没有给出任何结果,我不确定语句是否有错误。
是否无法在 { "_id" : { "$oid" : "55ad085569702d6a820007b3" }
本身上进行聚合?
谢谢。
答案 0 :(得分:3)
“一个文档中不能有多个 _id 字段”的错误并不表示重复键错误,其中多个文档的 _id 值相同。
表示单个文档有多个名为_id的字段。
您可以尝试使用 bsondump
实用程序从转储目录中提取 bson 文件以直接检查文档。