В 3.2 это возможно. Первый проект, чтобы myField содержал только последний элемент, а затем совпадал с myField.
db.collection.aggregate([
{ $project: { id: 1, myField: { $slice: [ "$myField", -1 ] } } },
{ $match: { myField: "myValue" } }
]);
Сохраните его в том же проекте и используйте препроцессор определяет, что вы определяете по-разному в зависимости от того, какой тип main вы хотите включить в текущий проект. Здесь основные сети находятся в одном файле, но они, конечно, могут находиться в разных файлах.
#if defined(MAIN_ONE)
int main()
{
// Do stuff
}
#elif defined(MAIN_TWO)
int main()
{
// Do some other stuff
}
#endif
Мне не известен какой-либо простой способ собрать две магистрали с использованием системы сборки Eclipse. Самым маленьким изменением, которое вам нужно сделать, может быть переход к make-файлам и использование целей make-файлов для сборки.
Вместо этого я бы посоветовал вам перейти на использование CMake. CMake можно использовать для создания файлов сборки, которые будут использоваться с eclipse. Преимущество, которое вы получаете от использования CMake, заключается в том, что вы можете легко указать, как создавать библиотеки и связывать библиотеки для формирования исполняемых файлов. CMake может создавать сборки для Eclipse, Visual Studio, блоков кода или make-файлов (так что вы можете использовать командную строку).
Если вызываемый make-файл не компилирует два метода main () в один исполняемый файл, это не вызовет проблемы. Я не знаю, как обрабатываются проекты eclipse - если это похоже на VS, где «проект» означает один исполняемый файл или библиотеку, а «решение» - это группа «проектов», то, похоже, вам понадобится более одного проект. Если, OTOH, «проект» может содержать разные «подпроекты», где «подпроект» является исполняемым файлом или библиотекой, вы сможете легко справиться с этим.
Создайте проект для каждого исполняемый файл, имеющий функцию main (), и создать дополнительный проект для представления программного обеспечения в целом (своего рода «контейнерный» проект). Eclipse позволяет вам указывать проекты как зависимости других проектов, и в этом случае вы захотите настроить проект контейнера, чтобы перечислить другие проекты как «Проекты, на которые есть ссылки».
Для этого создайте проект контейнера, затем вправо -щелкните проект в левом столбце (проводник проекта) и нажмите «Свойства». Появится диалоговое окно. Выберите элемент «Ссылки на проекты» в списке слева, и вы увидите список всех проектов, с которыми в настоящее время работает Eclipse. Установите флажки рядом с проектами для ваших отдельных исполняемых файлов, затем нажмите OK. Теперь, когда вы выполняете сборку проекта контейнера, Eclipse должен автоматически выполнять сборку и для этих зависимых проектов.
При использовании подпроектов таким образом я (лично) счел полезным создать рабочий набор который включает проект контейнера и все подпроекты (это может упростить поиск по всему проекту программного обеспечения).
Установите флажки рядом с проектами для ваших отдельных исполняемых файлов, затем нажмите OK. Теперь, когда вы выполняете сборку проекта контейнера, Eclipse должен автоматически выполнять сборку и для этих зависимых проектов.При использовании подпроектов таким образом я (лично) счел полезным создать рабочий набор который включает проект контейнера и все подпроекты (это может упростить поиск по всему проекту программного обеспечения).
Установите флажки рядом с проектами для ваших отдельных исполняемых файлов, затем нажмите OK. Теперь, когда вы выполняете сборку проекта контейнера, Eclipse должен автоматически выполнять сборку и для этих зависимых проектов.При использовании подпроектов таким образом я (лично) счел полезным создать рабочий набор который включает проект контейнера и все подпроекты (это может упростить поиск по всему проекту программного обеспечения).