Я использую nodejs с mongodb. мой object
- это что-то вроде того, что я получаю от запроса коллекции. Затем я фильтрую его с помощью lodash
https://lodash.com/docs#pick.Lodash _.pick() возвращает пустые объекты
var _ = require('lodash');
var object = [{
branchID: '1239',
branchName: 'Branch Name 1',
zoneID: '51',
zoneName: 'Zone Name 1',
regionID: '5',
regionName: 'Region 1'
},
{
branchID: '1240',
branchName: 'Branch Name 2',
zoneID: '52',
zoneName: 'Zone Name 2',
regionID: '5',
regionName: 'Region 3'
}];
var test1 = _.pick(object, function (data) {
return data.branchName == 1239
});
var test1 = _.pick(object, function (data) {
return data.branchName == "1239"
});
console.log(test); // {}
Я работаю с mongodb сегодня. Этот код выше работает до сегодняшнего вечера. Обычно, он должен вернуть мне это:
{
branchID: '1239',
branchName: 'Branch Name 1',
zoneID: '51',
zoneName: 'Zone Name 1',
regionID: '5',
regionName: 'Region 1'
}
ли я какую-то ошибку? и есть ли у меня другой способ фильтрации этого объекта?
Это работа теперь спасибо вам большое. Я все еще удивляюсь, почему «_.pick» работает раньше. Я смотрю на мой контроль версий много раз. Я вижу, что я использую '_.pick'. но теперь я изменил весь свой код на использование '_.pickBy'. – Thesaria
Я уверен, что ни '_.pick', ни' _.pickBy' не могут решить проблему OP. Поскольку обе функции принимают объект, а не массив. 'object' в вопросе OP определяется как массив объектов. – ryeballar
Правда я предполагал, что, поскольку у них был рабочий код в какой-то момент, они уже делали что-то вроде '_.each (objects, function (object) {' – Zargold