Azure cosmosDB: получение ошибки при сортировке с помощью mongoDB api

Я использую MongoDB API.

  if (req.query.sortBy) {
    var parts = req.query.sortBy.split(":");
    sort[parts[0]] = parts[1] === "desc" ? -1 : 1;
  }
  try {
    // var tasks = await Task.find({owner:req.user._id})
    // res.send(tasks)
    await req.user
      .populate({
        path: "tasks",
        options: {
          limit: parseInt(req.query.limit),
          skip: parseInt(req.query.skip),
          sort,
        },
      })
      .execPopulate();

Это отлично работает для sortBy = createdAt_asc или sortBy = createdAt_desc в MongoDB на моем локальном хосте. Но возникает ошибка при использовании подключения к cosmosDB. ошибка

Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 471da3a5-0085-4b62-a447-c8bb1b26dded; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 471da3a5-0085-4b62-a447-c8bb1b26dded; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 471da3a5-0085-4b62-a447-c8bb1b26dded; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 471da3a5-0085-4b62-a447-c8bb1b26dded; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 471da3a5-0085-4b62-a447-c8bb1b26dded; Reason: (Message: {"Errors":["The index path corresponding to the specified order-by item is excluded."]}\r\n` +
    'ActivityId: 471da3a5-0085-4b62-a447-c8bb1b26dded, Request URI: /apps/fdd31784-70ac-4bdd-b379-098c33c600e2/services/0b9a2cb6-44f8-45b7-bef9-cbfa6e5673e5/partitions/28daf003-696b-4ce3-ad83-5572e94bbff8/replicas/132429018129211375s/, RequestStats: Please see CosmosDiagnostics, SDK: Windows/10.0.14393 cosmos-netstandard-sdk/3.3.2);););););',
  code: 2,
  codeName: 'BadValue',
  [Symbol(mongoErrorContextSymbol)]: {}

Кто-нибудь может мне с этим помочь?


person theblue5.o    schedule 27.08.2020    source источник
comment
Можете ли вы поделиться индексами, которые вы определили в Cosmos для этой коллекции?   -  person Mark Brown    schedule 28.08.2020


Ответы (1)


При поиске этих сообщений об ошибках открывается эта страница, указывает на решение как исправление политики индексирования на ваш контейнер. Убедитесь, что вы не исключаете путь, по которому запрашиваете.

person Noah Stahl    schedule 28.08.2020
comment
Эта политика индекса применяется только к SQL API. У Mongo есть собственная индексация. - person Mark Brown; 28.08.2020