是否可以通过MongoDB C#Query获取元素在数组中的位置?

时间:2011-09-07 15:42:46

标签: c# mongodb

我通过C#驱动程序将.NET类的实例存储在MongoDB集合中。该类包含一个数组,例如 - MyArray。是否可以使用MongoDB C#驱动程序查询某个字符串(元素)在数组中的位置?实际的例子是我想在集合中找到MyArray属性在位置0上有一定字符串的文档。

非常感谢。

.NET类:

    namespace TestClasses
{
     public class TestClass
    {
        public TestClass() {

        }

        public string[] MyArray
        {
            get;
            set;
        }

        protected string Name
        {
            get;
            set;
        }

    }
}

1 个答案:

答案 0 :(得分:1)

是的,在您的查询中使用点表示法(其中searchValue是您正在查找的值):

MongoServer server = MongoServer.Create(host);
MongoDatabase db = server.GetDatabase(databaseName);
MongoCollection Collection = db.GetCollection("collection");

var query = new QueryDocument("MyArray.0", searchValue);
var testCollection = matchCollection.FindAs<TestClass>(query);