Я вставляю изображения в 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 ++ не очищает вставку?
Как я могу сделать вставку в реальном времени с немедленной промывкой?
Это возможно?
Возможно ли, что код C ++ не очищает вставку?
Вы можете проверить коллекцию MongoDB, правильно ли вставлен документ. Вы можете использовать MongoDB Shell или другие Менеджеры MongoDB (например, RoboMongo) по этому поводу.
Как я могу сделать вставку в реальном времени с немедленной промывкой?
Вы можете Опубликовать публикацию со стороны сервера приложения Meteor и подпишитесь на него, чтобы немедленно получить опубликованные данные.
Обнаружение изменений осуществляется с использованием хвостов оплогов. Это не сделано в режиме разработки. Обновления, сделанные из кода Meteor, немедленно запускают обновления, но обновления монго из внешнего источника, такого как оболочка Mongo или ваш код C ++, требуют некоторого времени, что вы и видите.
В производстве, если вы правильно настроили хвост оплога, вы не должны видеть задержку.