Заполните данные в коллекциях mongoose (генерируется strapi.io) - PullRequest
0 голосов
/ 25 июня 2019

У меня есть 3 коллекции в mongodb, сгенерированные strapi.io, я хочу настроить mongoose в моем проекте для заполнения данных запроса.Но я не могу заполнить данные, такие как результат страпи.

Коллекция категорий:

{
     _id: "5d10a731c5077836540bebf0",
     posts: [
     "5d10a6fbc5077836540bebed",
     "5d10af45c5077836540bebf1"
     ],
     name: "Support",
     ids: "support",
     keywords: "support",
     des: "support des",
     createdAt: "2019-06-24T10:34:25.383Z",
     updatedAt: "2019-06-24T11:08:53.475Z",
     __v: 0,
     id: "5d10a731c5077836540bebf0"
}

Коллекция сообщений:

{
    _id: "5d10af45c5077836540bebf1",
    ids: "test",
    title: "this is test",
    des: "test",
    keywords: "test",
    body: "testtesttesttesttest",
    createdAt: "2019-06-24T11:08:53.467Z",
    updatedAt: "2019-06-24T11:08:53.477Z",
    __v: 0,
    id: "5d10af45c5077836540bebf1"
}

Коллекция FileUpload:

{
    _id: "5d10af45c5077836540bebf2",
    name: "THUMBNAIL.png",
    sha256: "0bP9PI3R_ygF07cLhg5U-syLeVCz4ZbBrwZZi2OtPL4",
    hash: "9f4e8bbd13b94f2baa3d26b335124717",
    ext: ".png",
    mime: "image/png",
    size: "297.33",
    url: "/uploads/9f4e8bbd13b94f2baa3d26b335124717.png",
    provider: "local",
    related: 
    [
        {
        _id: "5d10af45c5077836540bebf3",
        ref: "5d10af45c5077836540bebf1",
        kind: "Post",
        field: "pic"
        }
    ],
    createdAt: "2019-06-24T11:08:53.501Z",
    updatedAt: "2019-06-24T11:08:53.505Z",
    __v: 0,
    id: "5d10af45c5077836540bebf2"
}

Я могу заполнить "сообщения" на модели категории с помощью

Cat.find().populate({path: 'posts',model: 'Post'})

Но я не могу заполнить "категории" и "рис." На модели Post.

Как я могу заполнить "категории" и"рис", как этот результат strapi:

{
    _id: "5d10af45c5077836540bebf1",
    ids: "test",
    title: "this is test",
    des: "test",
    keywords: "test",
    body: "testtesttesttesttest",
    createdAt: "2019-06-24T11:08:53.467Z",
    updatedAt: "2019-06-24T11:08:53.477Z",
    __v: 0,
    id: "5d10af45c5077836540bebf1",
    pic: {
        _id: "5d10af45c5077836540bebf2",
        name: "THUMBNAIL.png",
        sha256: "0bP9PI3R_ygF07cLhg5U-syLeVCz4ZbBrwZZi2OtPL4",
        hash: "9f4e8bbd13b94f2baa3d26b335124717",
        ext: ".png",
        mime: "image/png",
        size: "297.33",
        url: "/uploads/9f4e8bbd13b94f2baa3d26b335124717.png",
        provider: "local",
        related: [
            "5d10af45c5077836540bebf1"
        ],
        createdAt: "2019-06-24T11:08:53.501Z",
        updatedAt: "2019-06-24T11:08:53.505Z",
        __v: 0,
        id: "5d10af45c5077836540bebf2"
    },
    categories: 
    [
        {
            posts: [
                "5d10a6fbc5077836540bebed",
                "5d10af45c5077836540bebf1"
            ],
            _id: "5d10a731c5077836540bebf0",
            name: "Support",
            ids: "support",
            keywords: "support",
            des: "support des",
            createdAt: "2019-06-24T10:34:25.383Z",
            updatedAt: "2019-06-24T11:08:53.475Z",
            __v: 0,
            id: "5d10a731c5077836540bebf0"
        }
    ]
}

1 Ответ

0 голосов
/ 25 июня 2019

Вы должны создать еще одну коллекцию внутри поста.как будто у вас есть независимая коллекция, то вы можете заполнить.например:

Сообщение: {body:, title:, Image: {image: {name: и т. д.}}}}

это может быть коллекция внутри коллекции.приведенный выше код неверен, вы должны указать свои собственные поля.

...