是否有可能通过MongoDB c#查询在数组中获得元素的位置?

本文关键字:元素 位置 数组 有可能 MongoDB 查询 是否 | 更新日期: 2023-09-27 18:07:48

我通过c#驱动程序在MongoDB集合中存储。net类的实例。类包含一个数组,例如MyArray。是否有可能查询某个字符串(元素)的位置在数组与MongoDB c#驱动程序?实际的例子是,我想找到集合中的文档,其MyArray属性在位置0上有一个特定的字符串。

谢谢你。

.NET类:

    namespace TestClasses
{
     public class TestClass
    {
        public TestClass() {
        }
        public string[] MyArray
        {
            get;
            set;
        }
        protected string Name
        {
            get;
            set;
        }
    }
}

是否有可能通过MongoDB c#查询在数组中获得元素的位置?

是的,通过在您的查询中使用点符号(其中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);