如何从Mongo db中的嵌入式文档中获取查询数据

时间:2016-05-30 19:05:59

标签: c# mongodb

我的ModelKnjiga看起来像:

 public class ModelKnjiga
{
    public ModelKnjiga() { }

    [BsonId(IdGenerator = typeof(CombGuidGenerator))] 
    // pojavljuje  se greška kod BSON tipa podataka kod ID-a,preuzoteo s dokumentacije drivera 1.5
    public Guid Id { get; set; }

    [BsonElement("naziv")]
    public string naziv { get; set; }

    [BsonElement("autor")]
    public string autor { get; set; }

    [BsonElement("godina_izdanja")]
    public string godina_izdanja { get; set; }

    [BsonElement("izdavac")]
    public string izdavac { get; set; }

    [BsonElement("ocjena")]
    public String ocjena { get; set; }

    [BsonElement("čitam")]
    public Boolean čitam { get; set; }

    [BsonElement("završio")]
    public Boolean završio { get; set; }
}

和型号ModelKnjiga看起来像

 public class ModelKorisici
{
    public ModelKorisici () { }

    [BsonId(IdGenerator = typeof(CombGuidGenerator))]
   // pojavljuje  se greška kod BSON tipa podataka kod ID-a,preuzoteo s dokumentacije drivera 1.5
    public Guid  Id { get; set; }

    [BsonElement("ime")]
    public string ime { get; set; }

    [BsonElement("prezime")]
    public string prezime { get; set; }

    [BsonElement("lozinka")]
    public string lozinka { get; set; }

    [BsonElement("email")]
    public string email { get; set; }

    [BsonElement("kor_ime")]
    public string kor_ime { get; set; }

    [BsonElement("uloga")]
    public string uloga { get; set; }

    public List<ModelKnjiga> KnjigaLista { get; set; }
}

}

现在我需要从模型ModelKorisici获取所有数据,在嵌入式文档中,字段“čitam”设置为true。

你可以看到嵌入文件的图片: enter image description here

我正在使用Mongo驱动程序C#1.5.3

这是我获取数据的方法但是我的列表总是为空:

   public List<ModelKnjiga> KorisnikoveKnjigeČita ( Guid id)
    {
        List<ModelKnjiga> listknjiga = new List<ModelKnjiga>();
        MongoCollection<ModelKorisici> klijenti = GetTasksCollection();
        var query = Query.And(Query.EQ("ModelKorisici.Id",  id));
        MongoCollection<ModelKnjiga> knjige = GetTasksCollectionKnjiga();
        MongoCursor<ModelKnjiga> cursor = knjige.Find(query);

        foreach (var knjigice in cursor) {

            if (knjigice.čitam == true) {
                listknjiga.Add(knjigice);

            }
        }
        return listknjiga;
    }

0 个答案:

没有答案