У меня есть этот код, который возвращает этот результат:
// 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.info(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.info(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", "отображать": { "текст": "ном1", "от": "8Tp5maaTePqiD3DI", "кому": "ijHTUNeSbSQNICOC", "создано в": 1554757301176, "_id": "o2vkUj7suYzhEZk7" }
Если есть какой-то способ, а точнее отформатировать результаты, возвращаемые запросом
Причина, по которой у вас такие результаты, заключается в pagination
. Отключение нумерации страниц вернет только данные.
Вы можете создать свой собственный хук для обработки запросов, которые отключат разбиение на страницы по запросу.
Хорошая новость в том, что есть пакет, который решит вашу проблему, перья-хуки-общие.
Точный хук, который вам нужен, задокументирован в (отключить разбиение на страницы) .