gpt4 book ai didi

mongodb - 如何解决 com.mongodb.WriteConcernException

转载 作者:可可西里 更新时间:2023-11-01 09:40:45 25 4
gpt4 key购买 nike

我在一个集合中有一个文档。我正在尝试通过添加一个字段来更新该文档。但我面临以下错误。

Exception in thread "main" com.mongodb.WriteConcernException: { "serverUsed" : "localhost:27017" , "err" : "invalid operator: $numberLong" , "code" : 10068 , "n" : 0 , "connectionId" : 279 , "ok" : 1.0}
at com.mongodb.CommandResult.getWriteException(CommandResult.java:90)

谁能帮我解决这个错误?

package com.sample.dataload;

import java.net.UnknownHostException;
import java.util.Set;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.sample.dao.impl.mongo.MongoConnection;
import com.sample.dao.impl.mongo.MongoConstants;

public class Test
{
public static void main(String[] args) throws UnknownHostException
{
MongoConnection mongoConnection = new MongoConnection();
MongoClient mongoClient = mongoConnection.getMongoClient();
DB sourceDb = mongoClient.getDB(MongoConstants.SOURCE_DB);
Set<String> sourceCollections = sourceDb.getCollectionNames();
System.out.println(sourceCollections);
for (String eachCollection : sourceCollections)
{
System.out.println(eachCollection);
DBCollection collection = sourceDb.getCollection(eachCollection);
DBCursor cursor = collection.find(new BasicDBObject());
while (cursor.hasNext())
{
DBObject doc = cursor.next();
BasicDBObject updatedObj = new BasicDBObject().append(MongoConstants.SET, new BasicDBObject().append(DataLoadConstants.IS_PROCESSED, "true"));
collection.update(doc, updatedObj);
break;
}
}
}
}

最佳答案

我看到的一个问题是您不需要在 update 方法的第一个参数中传递整个 doc:

collection.update(new BasicDBObject().append("_id", doc._id), updatedObj);

关于mongodb - 如何解决 com.mongodb.WriteConcernException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34304582/

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