Как удалить имя коллекции из возврата мангусты? - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь вернуть значения коллекции в MongoDB в Node.js, используя Express.js + Mongoose.Клиент, который собирается использовать, ожидает данные в другом формате, чем мой.Возвращаемые данные должны быть такими:

[{"userId": 1, "id": 1, "title": "some title", "body": "some body"},{"userId": 1, "id": 2, "title": "another title", "body": "another body"}, ...

Однако json вернулмой сервис имеет имя коллекции (в моем примере, flavors) в качестве первого элемента в json, например:

{"flavors": [{"_ id": "5b818da7fb6fc0183b40ea50", "name":" имя "," род ":" вид "}, {" _ id ":" 5b818dd8fb6fc0183b40ea5b "," имя ":" другое имя "," вид ":" другой вид "}, ...

Вот мой код:

...
import Flavor from "../models/flavors";
...
const router = express.Router();

router.options("/", (req, res) => {
  Flavor.find().then(result => {
     res.json({ result });
  }).catch((err) => {
     res.status(500).json({ success: false, msg: `Something went wrong. ${err}` });
  });
});

Вот модель в моделях / ароматах:

import mongoose, { Schema } from "mongoose";
const schema = new Schema(
{
        name: String,
        kind: String,
 });

export default mongoose.model("flavors", schema);

Итак, как мне избавиться от этого аромата (коллекцияимя) в результате получить?

1 Ответ

0 голосов
/ 12 сентября 2018

Я нашел ответ.Ошибка в фигурных скобках внутри res.json, в этой части кода:

router.options("/", (req, res) => { 
    Flavor.find().then(result => {
        res.json({ result });
    }).catch((err) => {
        res.status(500).json({ success: false, msg: `Something wrong. ${err}`    });});});`

Итак, если он используется таким образом:

res.json({ result });

коллекцияИмя от Монго / Мангуста покажет первым.Когда я перехожу на это:

res.json(result);

имя коллекции исчезает.

...