0

文字列の単純なリストを追加しようとしています:

string[] misc = {"a", "b", "c", "d"};
List<string> myList = new List<string>(misc);
mongo_collection.Insert(myList);

そして、「サブクラスは GetDocumentID を実装する必要があります」というエラーが返されます。

代わりにこれを試しました:

mongo_collection.InsertBatch(myList);

しかし、同じエラーが発生しました。GetDocumentID を実装する List から継承する新しいクラスを作成せずに、これを挿入する方法が必要ですよね?

ありがとう!

4

2 に答える 2

1

コレクションに挿入される最上位オブジェクトは、(BSON配列ではなく)BSONドキュメントにマップされるオブジェクトである必要があります。

また、最上位オブジェクトには常にIdフィールド(_idという名前の要素にマップされる)が必要です。

データをデータベースに挿入するには、次のようなクラスを定義します。

public class C
{
    public ObjectId Id;
    public List<string> Strings;
}

次に、次のようにデータを挿入できます。

var document = new C();
document.Strings = new List<string> { "a", "b", "c", "d" };
collection.Insert(document);

Idには自動的に値が割り当てられることに注意してください(Idが一意の値の自動生成をサポートするObjectIdのようなタイプである場合)。

于 2012-04-13T22:41:00.840 に答える
1

文字列型のリストをmongoデータベースに入れようとしています。Mongoに何かを追加するには、それがBsonオブジェクトであるか、カスタムオブジェクトを作成し、プロパティをマップして、MongoがオブジェクトをBSONに変換する方法を認識できるようにする必要があります。

于 2012-04-13T16:45:01.527 に答える