Отношения "многие ко многим" Get by id не работает

Я попытался создать модель пользователя и питомца в отношениях «Многие ко многим» с использованием mongoDB и sailsJS, создание базы данных и загрузка данных в порядке, я проверил в mongoDB на наличие базы данных и сборку, которую он существует. когда я пытаюсь получить список пользователей и список домашних животных, он показывает мне содержимое, но когда я пытаюсь ПОЛУЧИТЬ одно домашнее животное по его идентификатору под пользователем по его идентификатору, я не получаю результата

Он показывает: «Ответ не содержит данных».

Я пробовал получить ПЭТ следующим образом: "http://localhost:1337/user/54ffd28e9d9ee93c166c7500/pets/54ffd28e9d9ee93c166c7503 "

Я также пробовал отображать питомца по его имени вместо iD, он тоже не работает

моя версия парусов - 0.11.0 .. моя ОС - Win7 64 бит


person Anandapriyan S.D    schedule 11.03.2015    source источник
comment
Не могли бы вы предоставить код для вашего API? Особенно для маршрута, к которому вы пытаетесь получить доступ.   -  person vladzam    schedule 11.03.2015
comment
docs.google.com/document/d/   -  person Anandapriyan S.D    schedule 12.03.2015
comment
Не могли бы вы обновить свое сообщение исходным кодом, чтобы его можно было читать? Утомительно читать его и форматировать в формате документа, который вы предоставили.   -  person vladzam    schedule 12.03.2015
comment
@VladZ. я нашел решение в git hub .. github.com/balderdashy/sails/issues/2658 в этом месте ... теперь он работает   -  person Anandapriyan S.D    schedule 14.03.2015


Ответы (1)


вот что может быть полезно знать при запросе по идентификатору при использовании mongoDB.

чтобы получить документ внутри коллекции, передав идентификатор через URL-адрес, полезно использовать const { ObjectId } = require('mongodb').

вы можете, например, сделать следующее:

// VS code might or might not write this for you
// but if you VIM, you have to write yourself

const { ObjectId } = require('mongodb')

fastify.get('/something/:id', async function (req, reply) {
    const db = await this.mongo.db;
    await db.collection('YourCollection', callbackFunc);

    function callbackFunc(err, col) {
      if (err) reply.send(err)

      col.findOne({ "_id": new ObjectId(req.params.id) }, (err, result) => 
      {
        console.log(result)
      })
    }
  })

Дайте мне знать, если это поможет, наилучшие пожелания

person bessa3301    schedule 17.06.2020