Я использую LokiJs в качестве кеша в памяти для приложения, которое хранит данные в CouchDB и позволяет получать данные через сервер NodeJS.Согласно документации о построении запросов , результаты моего запроса присваиваются объекту набора результатов:
let result = combinedCache.find({'left.errorCode': errorCode});
Эта коллекция combinedCache
является результатом .eqJoin
из двухдругие коллекции:
var cache = new loki('loki.db');
errorCodeCache = cache.addCollection('errorCodes');
messageCache = cache.addCollection('messages');
errorCodeCache.insert(docs.errorCodes);
messageCache.insert(docs.messages);
combinedCache = errorCodeCache.eqJoin(
messageCache,
'messageId',
'_id'
);
Это создает две коллекции: коллекцию errorCodeCache
и коллекцию messageCache
.combinedCache
является результатом объединения в messageId
документов errorCode и _id
документов сообщений.Размер получаемого combinedCache
значительно превышает 1000, когда я проверяю с помощью combinedCache.data().length
.
Однако после выполнения запроса к кешу размер исходной коллекции изменяется на размер результата;другими словами, если мой запрос возвращает 1 документ CouchDB, размер combinedCache
теперь равен 1. Я не смог найти никаких ссылок в документации, в которой говорилось, что запросы .find
к коллекции изменяют результаты самой коллекции.Если это так, то как можно сохранить размер коллекции?Спасибо!