Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.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
如何在使用Java驱动程序更新的Mongo集合中强制增加id_Java_Mongodb - Fatal编程技术网

如何在使用Java驱动程序更新的Mongo集合中强制增加id

如何在使用Java驱动程序更新的Mongo集合中强制增加id,java,mongodb,Java,Mongodb,我有下面的代码,如果Mongo文档不存在,应该更新或插入它 ByteArrayOutputStream b = new ByteArrayOutputStream(); ObjectOutputStream o = new ObjectOutputStream(b); o.writeObject(value); BasicDBObject doc = new BasicDBObject(“objectData”, getBytesForObject(o)) .

我有下面的代码,如果Mongo文档不存在,应该更新或插入它

ByteArrayOutputStream b = new ByteArrayOutputStream();
ObjectOutputStream o = new ObjectOutputStream(b);
o.writeObject(value);
BasicDBObject   doc = new BasicDBObject(“objectData”, getBytesForObject(o))
                .append(“objectKey”, key)
                .append(“LastModified”, mongoDateFormat.format(new Date()));

MongoCollection<BasicDBObject> collection = 
                getMongoDatabase().getCollection("cache", BasicDBObject.class);

UpdateOptions updateOptions = new UpdateOptions();
updateOptions.upsert(true);
collection.updateOne(new BasicDBObject(“objectKey”, key), new BasicDBObject("$set", doc), updateOptions);
但是,此代码始终将_id插入为0。
如何解决这个问题?

嗯?您似乎在代码中定义了此处未列出的内容。_id基本上是自动生成的,是ObjectId,而不是整数,除非执行其他操作。除此之外,还有其他代码是真正的错误。不,这就是所有代码,唯一没有列出的代码是函数getBytesForObject