0
A
回答
1
我想知道如果我只是不理解这个问题;但你不能简单地做一个:
db.collection.remove({"_id":"yourInvalidId"});
删除行然后重新插入它?
0
,如果你有一个对象中的任何其他字段只是做到以下几点:
db.collection.remove({"fieldName":"fieldValue"})
,然后就重新添加,这应该是不是做一个更新的领域更安全。
2
MongoDB中的ObjectId是一个特殊的12字节BSON数据类型,它被设计为在分配时具有很高的唯一性(即:基于当前时间,特定机器等生成)。
您可以使用MongoDB驱动程序提供的方法检查给定ID字符串的有效性。例如,在Java中,你可以使用下面的方法:
static boolean isValid(String s)
类
:
org.bson.types.ObjectId
检查一个给定的输入字符串是否是corrent的ObjectId与否。
希望这会有所帮助。
1
由于您无法更新_id字段(这是mongo限制),因此您必须复制行并删除旧行。 在shell:
var row = db.yourcollection.findOne({_id : "your invalid id"})
db.yourcollection.remove({_id : "your invalid id"}))
row._id = new ObjectId()
db.yourcollection.insert(row)
然而,这是奇怪的是,你有一个不良lengthed OBJECTIF,你自己创建它?
0
当代码有语义错误时,可能会发生此错误。根据objectId的行可以在不删除的情况下进行更新。
BasicDBObject query = new BasicDBObject();
query.put("_id", "your id");
DBObject dbObj = testCol.findOne(query);
BasicDBList Brand_children= (BasicDBList) dbObj.get("children");
Brand_children.add(itemBrand);
System.out.println(Brand_children);
testCol.save(dbObj);
并且也可以除去如上述
相关问题
- 1. 将Parse objectId转换为Mongo ObjectId?
- 2. 从KeystoneJS URL中删除/隐藏Mongo ObjectID
- 3. MongoDB objectID陌生人错误
- 4. Meteor Mongo使用ObjectID查找文档
- 5. Mongo错误日期
- 6. HashiCorp Vault Mongo错误
- 7. 演员到的ObjectId错误做findOneAndUpdate
- 8. 所有的ObjectId在mongo中都是偶数吗?
- 9. Mongo错误:DBClientBase :: findN:传输错误()
- 10. spring-mongo-1.0.xsd错误
- 11. Scalatra和Mongo insertOne错误 - java.lang.NoSuchMethodError:com.mongodb.operation.MixedBulkWriteOperation.bypassDocumentValidation
- 12. 错误修复mongo db
- 13. Mongo DB未知错误?
- 14. Meteor-Mongo:错误处理findone
- 15. Laravel 5.5 Mongo DB错误
- 16. 在Angular中使用$ http POST获取mongo ObjectID
- 17. 在Javascript中使用Mongo ObjectID转换字符串(流星)
- 18. 在Mongo Java中出现错误11000,DuplicateKeyException
- 19. 强制转换为ObjectId在Mongoose中的值错误失败findOne
- 20. 与Mongo的Sails本地更新无法使用ObjectId
- 21. 通过Mongo Compass上的ObjectId进行搜索
- 22. shell上的Mongo Db聚合$ redact错误
- 23. 重定向mongo shell的错误输出
- 24. DDD和MongoDB:可以让Mongo创建ObjectID吗?
- 25. 用自定义时间生成Mongo ObjectId(_id)?
- 26. 如何将时间戳转换为Mongo ObjectID
- 27. 在启动mongo shell时发生错误
- 28. 致命错误:类'Mongo'找不到
- 29. Mongo DB没有更新,没有错误
- 30. Morphia错误:ObjectId的无效十六进制表示
只是一个供参考;你在这里采取了额外的步骤。您可以从中找到并排除_id,然后当您插入新行时,它会自动创建一个新的ID。 – Petrogad