gpt4 book ai didi

java - 重复 key 错误索引 : insertOne MongoDB

转载 作者:行者123 更新时间:2023-12-02 03:22:35 27 4
gpt4 key购买 nike

我收到错误

duplicate key error index: my.own.$_id_ dup key: { : ObjectId('57d2c4857c137b20e40c633f')

这个 ObjectId 来自第一个 insertOne() 但第二个 insertOne() 命令失败任何人都可以帮助我。刚刚学习Java驱动MongoDB

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.sun.org.apache.xml.internal.security.utils.HelperNodeList;
import org.bson.Document;

import java.util.Arrays;

import static com.mongodb.MongoCredential.*;


public class Main {
public static void main(String[] args){
//Creating Credential Parameters
//MongoCredential credential = createScramSha1Credential("root","my","root".toCharArray());
//MongoClient to connect
MongoClient mongo = new MongoClient();
MongoDatabase database = mongo.getDatabase("my");
MongoCollection<Document> collection = database.getCollection("own");
Document document = new Document("x",1).append("y",3);
collection.insertOne(document);
collection.insertOne(document.append("z",3));
}
}

最佳答案

您使用 insertOne 方法插入了文档,现在您尝试使用相同的方法执行更新操作,这是错误的。

{ collection.updateOne(document.append("z",3)); }

您必须使用 updateOne 方法来更新文档。 insertOne 实际上尝试将文档重新插入到您的 mongo 集合中,因此您会收到错误。

关于java - 重复 key 错误索引 : insertOne MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39413841/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com