首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何过滤find FeatherJs中返回的数据

如何过滤find FeatherJs中返回的数据
EN

Stack Overflow用户
提问于 2019-04-11 04:59:15
回答 1查看 804关注 0票数 0

我有这个返回结果的代码:

// Use this hook to manipulate incoming or outgoing data.
// For more information on hooks, see: http://docs.feathersjs.com/api/hooks.html

module.exports = function (options = {}) { // eslint-disable-line no-unused-vars
    return async context => {
      // Get `app`, `method`, `params` and `result` from the hook context
      const { app, method, result, params } = context;

      // Make sure that we always have a list of users either by wrapping
      // a single message into an array or by getting the `data` from the `find` method's result
      const interacts = method === 'find' ? result.data : [ result ];

      // console.log(users);

      // Asynchronously get user object from each message's `userId`
      // and add it to the message
      await Promise.all(interacts.map(async interact => {

        // await Promise.all(user.map(async interacts => {
          // Also pass the original `params` to the service call
          // so that it has the same information available (e.g. who is requesting it)
          // bots.botId = await app.service('bots').get(bots.botId, params);
          interact.display = await app.service('messages').find({
             query: {
              to: "ijHTUNeSbSQNICOC",
              from: "8Tp5maaTePqiD3DI",
              $limit: 1,
              $sort: {
                createdAt: -1
              }
             }
          });
        // }));

      }));
      console.log(context);

      // Best practice: hooks should always return the context
      return context;
    };
  };

返回此结果:

 "total": 6,
  "limit": 10,
  "skip": 0,
  "data": [
    {
      "userId": "8Tp5maaTePqiD3DI",
      "interactUser": "ijHTUNeSbSQNICOC",
      "_id": "3r3MY8SagJMqcEj4",
      "display": {
        "total": 2,
        "limit": 1,
        "skip": 0,
        "data": [
          {
            "text": "nome1",
            "from": "8Tp5maaTePqiD3DI",
            "to": "ijHTUNeSbSQNICOC",
            "createdAt": 1554757301176,
            "_id": "o2vkUj7suYzhEZk7"
          }
        ]
      }
    },
    {
      "userId": "fNEgNVk6yh3msVa8",
      "interactUser": "Z5DO1Gx2YpXLTRBb",
      "_id": "KAtOheLC6AEiJL41",
      "display": {
        "total": 2,
        "limit": 1,
        "skip": 0,
        "data": [
          {
            "text": "nome1",
            "from": "8Tp5maaTePqiD3DI",
            "to": "ijHTUNeSbSQNICOC",
            "createdAt": 1554757301176,
            "_id": "o2vkUj7suYzhEZk7"
          }
        ]
      }
    },
    {
      "userId": "Z5DO1Gx2YpXLTRBb",
      "interactUser": "Z5DO1Gx2YpXLTRBb",
      "_id": "LgoqQxxR8538fnu3",
      "display": {
        "total": 2,
        "limit": 1,
        "skip": 0,
        "data": [
          {
            "text": "nome1",
            "from": "8Tp5maaTePqiD3DI",
            "to": "ijHTUNeSbSQNICOC",
            "createdAt": 1554757301176,
            "_id": "o2vkUj7suYzhEZk7"
          }
        ]
      }
    },
    {
      "userId": "8Tp5maaTePqiD3DI",
      "interactUser": "8Tp5maaTePqiD3DI",
      "_id": "PuUaonKg3hol2wz0",
      "display": {
        "total": 2,
        "limit": 1,
        "skip": 0,
        "data": [
          {
            "text": "nome1",
            "from": "8Tp5maaTePqiD3DI",
            "to": "ijHTUNeSbSQNICOC",
            "createdAt": 1554757301176,
            "_id": "o2vkUj7suYzhEZk7"
          }
        ]
      }
    },

如何只留下数据..:

"userId": "Z5DO1Gx2YpXLTRBb",
  "interactUser": "fNEgNVk6yh3msVa8",
  "_id": "T3ekz58yNDacS5o2",
  "display": 
       {
        "text": "nome1",
        "from": "8Tp5maaTePqiD3DI",
        "to": "ijHTUNeSbSQNICOC",
        "createdAt": 1554757301176,
        "_id": "o2vkUj7suYzhEZk7"
  }

"userId":"Z5DO1Gx2YpXLTRBb","interactUser":"fNEgNVk6yh3msVa8","_id":"T3ekz58yNDacS5o2","display":{ "text":"nome1","from":“8Tp5maaTePqD3DI”,"to":"ijHTUNeSbSQNICOC","createdAt":1554757301176,"_id":"o2vkUj7suYzhEZk7“}

如果有任何方法,或者更确切地说是格式化查询返回的结果

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-11 08:18:33

你有这些结果的原因是因为pagination。禁用分页只会返回数据。

您可以创建自己的钩子来处理查询,如果请求,这些查询将禁用分页。

好消息是,有一个包可以解决你的问题,feahters-hooks-common

您需要的确切钩子在(disablepagination)中有说明。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55621238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档