无法通过查询目标upsert ::无法提取确切的分片键

问题描述

我建立了一个分片数据库并在集合上启用分片(EmailAddress作为shardKey)。下面是我要插入集合中的代码(仅当EmailAddress不存在时才插入)

var con = MongoDBConnection.Connection;
var database = con.GetDatabase("Mydbname");
var collection = database.GetCollection<MyDbClass>("MyCollectionName");
    
var testFilter = new BsonDocument("EmailAddress","[email protected]");
var result = collection.UpdateOne(testFilter,Builders<MyDbClass>.Update
             .SetonInsert("Name","John Doe")
             .SetonInsert("EmailAddress","[email protected]")
             .SetonInsert("City","NY"),new UpdateOptions() { IsUpsert = true });

当我运行这段代码时,它给了我这个错误 “批量写入操作导致一个或多个错误。无法通过查询::定位目标向上插入:无法提取确切的分片键”

任何帮助将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)