Существует спецификация, которую поддерживает множество драйверов, называемая DBRef.
DBRef - это более формальная спецификация для создания ссылок между документами. DBRefs (обычно) включают имя коллекции, а также идентификатор объекта. Большинство разработчиков используют только DBRefs, если коллекция может измениться с одного документа на другой. Если ваша ссылочная коллекция всегда будет одинаковой, рекомендации по руководству, описанные выше, более эффективны.
blockquote>Взято из MongoDB Документация: Модели данных> Ссылка на модель данных> Ссылки на базы данных
Вы можете инициализировать общий указатель на const-объект из общего указателя на неконстантный объект.
#include <memory>
void foo ()
{
auto v = std::make_shared <int> (10);
std::shared_ptr <int const> x = v;
// *x = 10; ERROR
}