Можно ли получить позицию элемента в массиве через MongoDB C # Query? - PullRequest
0 голосов
/ 07 сентября 2011

Я храню экземпляры класса .NET в коллекции MongoDB через драйверы C #. Класс содержит массив для примера - MyArray. Можно ли запросить определенную строку (элемент) в массиве с помощью драйвера MongoDB C #? Практический пример - я хочу найти документы в коллекции, свойство MyArray которых имеет определенную строку в позиции 0.

Большое спасибо.

.NET класс:

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

        }

        public string[] MyArray
        {
            get;
            set;
        }

        protected string Name
        {
            get;
            set;
        }

    }
}

1 Ответ

1 голос
/ 07 сентября 2011

Да, используя точечную запись в вашем запросе (где 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...