Как искать строку в массиве объектов в MongoDB с помощью С#

У меня есть следующая запись в моем MongoDB. Я хочу найти строку в полях «понедельник». Я хочу выполнить поиск в поле «learningexperience», чтобы вернуть любые документы, соответствующие определенному слову в этом поле.

Не уверен, как это сделать с помощью MongoDB/C#. Любая помощь была бы фантастической.

{
    "_id" : ObjectId("59ee623844bd6b042809d492"),
    "title" : "Zebra Room (2017-10-30)",
    "weekcommencing" : "2017-10-30", 
    "monday" : [ 
        {
            "categoryid" : "59ee610244bd6b042809d48d",
            "category" : "Culture & Community",
            "learningexperience" : "Dress up to reflect where i am from. Children are asked to dress in the national uniform of their origins."
        }, 
        {
            "categoryid" : "59edca4344bd6d1e200c3c32",
            "category" : "Literacy & Numeracy",
            "learningexperience" : "Today the children will be focusing on simple additions. For those more advance we will also have subtractions in place."
        }
]
}

person Mr Jones    schedule 02.11.2017    source источник


Ответы (1)


Если вы хотите найти что-то вроде %keyword%. Вы можете попробовать это

db.tablename.find({"monday.learningexperience": /.*keyword.*/})

Для С# вы можете попробовать этот фильтр (драйвер mongodb С# 2.0 или выше)

Builders<tablename>.Filter.Regex("monday.learningexperience", new BsonRegularExpression("keyword", "i"));
person Bùi Đức Khánh    schedule 03.11.2017