У меня есть база данных, содержащая несколько коллекций. У некоторых есть такое имя, как «carpenter_title_year_version». У других есть такое имя, как «plumber_title_year_version». Как настроить фильтр для извлечения всех коллекций, где строка «плотник» находится в имени коллекции?Как найти все коллекции с определенной строкой в имени в моей базе данных MongoDB?
Я думаю, что-то вроде:
var filterBuilder = Builders<GroupEntity>.Filter;
var projectionBuilder = Builders<GroupEntity>.Projection;
var collection = Database.GetCollection<GroupEntity>("dbname");
var filter = filterBuilder.ElemMatch("carpenter..., ?"); //<--- ???
var projection = projectionBuilder.Exclude("_id");
var list = await collection.Find(filter).Project(projection).ToListAsync();
код и описание не совпадают. Похоже, у вас есть одна коллекция под названием 'dbname' и массивы с именем' carpenter' в ваших строго типизированных элементах типа 'GroupEntity'. Вы действительно пробовали этот код? –
Нет, этот код не работает. В этом случае база данных называется «dbname». Он содержит коллекции с разными именами (например, «carpenter_titel_year_version». Я заинтересован в перечислении имен коллекции, а не в самом деле извлечении документов в них). Мне нужно создать список всех коллекций, принадлежащих «плотникам», и у них есть строка «плотник» как часть имени коллекции. – Lasse
Вы должны удалить этот код. Это не имеет никакого отношения к тому, что вы хотите сделать. Меня это смутило. Похоже, вы собрали сборники для баз данных –