我有两节课:
public class Client
{
[BsonId]
public string Id { get; set; }
public ICollection<OtherData> Other { get; set; }
}
和
public class OtherData
{
[BsonId]
public string Id { get; set; }
public string Text { get; set; }
}
我有一份客户文件。
我想根据其ID更新Other
上的项目。
所以我有这段代码。
Expression<Func<Client, bool>> filter = x =>
x.Id == id
&& x.Other.Any(t => t.Id == idOther);
var update = new UpdateDefinitionBuilder<Client>()
.Set(x => x.Other.ElementAt(-1), dadoBancario);
await _collection.FindOneAndUpdateAsync(filter, update);
但是当我运行这段代码时,出现了这个错误:
命令findAndModify失败:'Other。$'中以美元($)为前缀的字段'Other。$'无效。..MongoDB.Driver.MongoCommandException 在MongoDB.Driver.Core.WireProtocol.CommandWireProtocol
1.ProcessReply(ConnectionId connectionId, ReplyMessage
1处回复)
我正在使用Cosmos DB。 这是一些兼容性问题吗?
还是我可以走另一条路?