MongoDBでいくつかの洞察を得るためにPlural Sightコースを進めています。それは「道」の基本コースの1つで、2.0より前に作られたようです。そのような私は、先生がやっている科目のいくつかを理解するためにいくつかの問題を抱えています。C#のBsonIdに基づいてMongoDbデータを照会する
誰かがBsonID
に基づいてどのオブジェクトにどのようにFind
オブジェクトを解決できるかどうかを確認したいと考えていましたか?
これは私の物である:
public class Patient
{
[BsonElement("_id")]
[BsonId]
public string Name { get; set; }
public ICollection<Ailment> Ailments { get; set; }
public ICollection<Medication> Medications { get; set; }
}
そして、これは私がそれを照会しようとしている方法です:
public HttpResponseMessage Get(int id)
{
var patient = _patients.Find(pat => pat._id == id).ToList();
if(patient == null)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound, "Patient Not Found..");
}
return Request.CreateResponse(HttpStatusCode.OK, patient);
}
この構文は、「がにISNとして私は、プロジェクトをビルドすることはできません。名前は_id
のプロパティです。私はまた実際のプロパティIDを持っているしようとしましたが、ビルド時に問題が発生するようです(BsonIDによって作成されたIDを既に持っている可能性が高いです)。
この質問が以前に尋ねられた場合は本当に申し訳ありませんが、私は真剣にその件に関するヘルプを見つけることができませんでした。それにはたくさんのリソースがあるはずです(つまり、"c#query mongodb find BsonId"のようなものを探しているときに、私たち初心者が良い情報源を得ることができるはずです)。
これがダウン投票になるかどうかは十分に分かっていますが、時間をかけて誰かが私を助けてくれたら本当に大好きです。
を、私はこれが(https://stackoverflow.com/questions/ [すでに回答されて]いると思います6063219/how-to-manage-id-field-use-poco-with-mongodb-c-sharp-driver)を使用してください。 –
私が間違っていれば訂正しますが、 'ObjectId'は非推奨ですか?少なくとも私は 'BsonId'の代わりにそれを使用しようとしたとき、それは' BsonTypes'(またはそれに類するもの)にその名前のプロパティがなかったというエラーを私に投げかけていました。 – geostocker
ObjectIdは、MongoのIdプロパティによく適した型(intやstringなど)です...最近のプロジェクトでは、ObjectIdの代わりにGuidを使用しましたが、すべてのモデルをMongo(永続化レイヤーを変更したい場合) BsonIdは、デフォルトの 'public ObjectId Id {get;}を使用したくない場合は、Idフィールドを修飾する属性(BsonIdAttribute)です。セット; } '。 –