Как сохранить большой HTML-контент (статья) в поле коллекции mongoDB? - PullRequest
0 голосов
/ 03 июля 2019

Я хочу сохранить большой HTML-контент в mongodb, но он не позволяет сохранить более 1 КБ контента в одном поле коллекции. В основном я создаю веб-приложение для отправки статей, используя NUXT и базу данных, которую я выбираю - Mongodb. Теперь я застрял в этой важной задаче.

любая помощь будет отличной!

var mongoose = require('mongoose');
var ArticleSchema = new mongoose.Schema({
    title : { type : String , unique : true, required : true},
    description: { type : String , unique : true, required : true},
    content: { type : String , unique : true, required : true},
    banner: { type : String },
    active: { type: Boolean, default: false },
    created_date: { type: Date, default: Date.now },
    updated_date: { type: Date, default: Date.now },
    postedBy: {
        type : Object , required : true
    },
    comments: [{
        text: String,
        postedBy: {
            type : Object , required : true
        }
    }]
  });
module.exports = mongoose.model('Article', ArticleSchema);

Получение этой ошибки при сохранении большого контента:

Btree::insert: key too large to index, failing tech-expert.articles.$content_1 3500 { : \"<p>Here is Sample text!Here is Sample text!Here is Sample text!Here is Sample text!Here is Sample text!Here is Sample text!Here is Sample text!Here is...\" }"}

1 Ответ

1 голос
/ 03 июля 2019

Похоже, у вас есть индекс в поле content.Попробуйте удалить этот индекс или заменить его на текстовый индекс

UPD: Mongoose автоматически создаст уникальный индекс, если ваша схема говорит unique: true - просто избавьтесь от этогочасть для поля content. Тип Мангуста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...