0
안녕하세요, mongoDB 2 개체에 삽입하려고합니다. 잘 작동 내가 1 개체를 삽입 할 때 ,mongo 2 오브젝트에 삽입
private void Query<TO>(TO o)
{
const string connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
var server = client.GetServer();
var database = server.GetDatabase("test");
var collection = database.GetCollection<TO>(o.GetType().Name + "s");
collection.Insert(o);
}
하지만 2 개체를 삽입하려고하면 BSON 드라이버가 오류를 슬로우하는
private void Query<TO, TK, TV>(TO o, Dictionary<TK, TV> ExtraFields)
{
const string connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
var server = client.GetServer();
var database = server.GetDatabase("test");
var collection = database.GetCollection<Object[]>(o.GetType().Name + "s");
collection.Insert(new List<object>
{
o,
ExtraFields
});
}
내가 오류가
입니다 { "Serializer EnumerableSerializer는 ArraySerializationOptions 유형의 옵션이 아닌 DocumentSerializationOptions입니다."}
개
감사
는
대신'collection.InsertBatch()'를 사용해 보셨습니까? –
Insert로 삽입하지 않고 [InsertBatch] (http://docs.mongodb.org/ecosystem/tutorial/use-csharp-driver/#insertbatch-method)를 사용해야합니다. 반면에 Insert는 단일 개체를 열거 할 수 없지만 InsertBatch는 열거 형을 허용합니다. –
예, 다른 오류가 발생했습니다. { "Serializer DictionarySerializer DocumentSerializationOptions가 아닌 DictionarySerializationOptions 유형의 예상 직렬화 옵션입니다."} –
user1264626