Как мы можем вставить документ Mongocxx, который доступен в режиме реального времени.?

Я вставляю изображения в mongodb через c ++ API, как показано ниже:

   bsoncxx::document::value document = bsoncxx::builder::basic::make_document
(kvp("userId", "xZcuQet3QMmS7Q2yc"),
kvp("source",encoded_png),
kvp("createdAt",bsoncxx::types::b_date(std::chrono::system_clock::now()))
);
bsoncxx::stdx::optional<mongocxx::result::insert_one> result =
coll.insert_one(document.view());

Также я тяну в реальном времени от MeteorJs. Я столкнулся с задержкой в ​​несколько секунд (5 — 7 секунд).

Возможно ли, что код C ++ не очищает вставку?

Как я могу сделать вставку в реальном времени с немедленной промывкой?

Это возможно?

0

Решение

Возможно ли, что код C ++ не очищает вставку?

Вы можете проверить коллекцию MongoDB, правильно ли вставлен документ. Вы можете использовать MongoDB Shell или другие Менеджеры MongoDB (например, RoboMongo) по этому поводу.

Как я могу сделать вставку в реальном времени с немедленной промывкой?

Вы можете Опубликовать публикацию со стороны сервера приложения Meteor и подпишитесь на него, чтобы немедленно получить опубликованные данные.

2

Другие решения

Обнаружение изменений осуществляется с использованием хвостов оплогов. Это не сделано в режиме разработки. Обновления, сделанные из кода Meteor, немедленно запускают обновления, но обновления монго из внешнего источника, такого как оболочка Mongo или ваш код C ++, требуют некоторого времени, что вы и видите.

В производстве, если вы правильно настроили хвост оплога, вы не должны видеть задержку.

1

По вопросам рекламы [email protected]