#nosql #litedb
#nosql #litedb
Вопрос:
Я использую версию litedb 3.xx и хочу уменьшить файл, поскольку он всегда увеличивает свой размер.
Я сократил его с помощью кнопки «сжать» LiteDbExplorer, но теперь приложение не может использовать этот файл БД. Но все же это кажется хорошим при использовании viewer litedbexplorer, litedbviewer, litedbstudio. Я хорошо вижу данные на этих зрителях.
но при запуске приложения появляется сообщение типа «LiteDB.LiteException: индекс не найден в ‘<имя_коллекции>._id’ в LiteDB.Query.Run(CollectionPage col, indexService indexer) в LiteDB.LiteEngine.<>c__displayClass14_0.b__0(Collectionpage col) ~~~ …»
Я сделал это сломанным? но индекс на _id (первичный ключ) и другие индексы все еще существуют хорошо. Я проверяю это с помощью «db.collectionname.indexes».
кто-нибудь мне поможет?
Ответ №1:
Это было из-за ограничения имен коллекций. Если имя коллекции не подходит, оно не может манипулировать собой, а не только своими документами.
А также у функции сжатия LiteDBExplorer могут возникнуть некоторые проблемы. Это работает не всегда, но LiteDBshell работает. Пожалуйста, используйте «db.shrink» в оболочке.
Я предполагаю, что сообщения типа «Недопустимый формат: коллекция» в оболочке можно исправить, изменив имя коллекции.