No tienes que ser tan detallado:BsonValue.Create() y BsonArray.Create no debería ser necesario.
De hecho, este último es la causa de su problema:BsonArray.Create crea matrices de tipos de valores . Sin embargo, necesita una variedad de objetos. Si echa un vistazo a las sobrecargas disponibles de BsonArray.Create , supongo que estarás invocando BsonArray.Create(IEnumerable) , lo cual no es deseable.
¿Ha intentado utilizar simplemente
MongoCollection.Update(query, Update.Set("Agents", updatedEntity.Agents), ...);
en su lugar?
En JSON, la diferencia se ve así:
Por ejemplo,
Matriz simple:[ "mongodb", "awesomness", ... ]
Matriz de objetos:[ { userId: 2314234, comment: "Foo" }, { ... }, ... ]