JSON для повторного использования ioredis с nodejs

Я новичок в Redis, так что терпите меня. Я пытаюсь добавить о 1704 json возражает в базу данных, используя nodejs, но когда я выполняю свой скрипт, я получаю ошибку. Дело в том, что я не уверен, что вызывает ошибку. Возможно, подход, который я использую, неверен. Я бы очень признателен за любую помощь.

Вот мои файлы:

/*items.json*/
[  
{
    "imageCredit": {
      "artist": "Martin Wessely",
      "link": "http://www.resplashed.com/photographer/martin_wessely/"
    },
    "tags": [
      "Trees"
    ],
    "imageUrl": "http://www.resplashed.com/img/400_002e1ecb8bd2.jpg",
    "filename": "400_002e1ecb8bd2.jpg",
    "imageHash": "2b1d5b5ef4b37b4f5d0dccade1b69987",
    "price": 10.99,
    "name": "Handcrafted Trees Mug",
    "description": "enim corporis voluptatibus laudantium possimus alias dolorem voluptatem similique aut aliquam voluptatem voluptatem omnis id consequatur",
    "slug": "Handcrafted-Trees-Mug",
    "added": 1485723766805,
    "manufacturer": "OHara-Group",
    "itemType": "mug",
    "productImg": "mug-400_002e1ecb8bd2.jpg"
  },
  {
    "imageCredit": {
      "artist": "Patrick Fore",
      "link": "http://www.resplashed.com/photographer/patrick_fore/"
    },
    "tags": [
      "Beach",
      "Ocean",
      "Water"
    ],
    "imageUrl": "http://www.resplashed.com/img/400_00b425ea69e0.jpg",
    "filename": "400_00b425ea69e0.jpg",
    "imageHash": "9197d084a8309c5cc1c1860063bc4dda",
    "price": 19.99,
    "name": "Rustic Beach Mug",
    "description": "totam at veritatis eligendi assumenda ex quia praesentium quibusdam ducimus",
    "slug": "Rustic-Beach-Mug",
    "added": 1481573896833,
    "manufacturer": "Sipes-Inc",
    "itemType": "mug",
    "productImg": "mug-400_00b425ea69e0.jpg"
  },
  { ... }
]

И скрипт, который я использую:

/* index.js */
const Redis = require('ioredis');

const items = require('./items.json');

const redis = new Redis();

function rk() {

  return Array.prototype.slice.call(arguments).join(':');
}

items.map(item => {

  redis.multi([
    [
      'HMSET', rk('redishop', 'items', item['slug']),
      'artist', item['imageCredit']['artist'],
      'price', item['price'],
      'name', item['name'],
      'description', item['description'],
      'manufacturer', item['manufacturer'],
      'itemType', item['itemType'],
      'productImg', item['productImg']
    ],
    ['SADD', rk('redishop', 'all-items'), item['slug']]
  ]).exec((err, result) => {

    if (err) {
      throw err;
    }

    console.log(result);
  });
});

Но когда я запускаю его, я получаю следующую ошибку:

P:\.js\100917\nodejs-redis-101\ecommerce-sample-set\node_modules\ioredis\lib\pipeline.js:188
    this[commandName].apply(this, args);
                     ^

TypeError: Cannot read property 'apply' of undefined
    at Pipeline.addBatch (P:\.js\100917\nodejs-redis-101\ecommerce-sample-set\node_modules\ioredis\lib\pipeline.js:188:22)
    at Redis.redis.multi (P:\.js\100917\nodejs-redis-101\ecommerce-sample-set\node_modules\ioredis\lib\transaction.js:27:16)
    at items.map.item (P:\.js\100917\nodejs-redis-101\ecommerce-sample-set\index.js:14:9)
    at Array.map (<anonymous>)
    at Object.<anonymous> (P:\.js\100917\nodejs-redis-101\ecommerce-sample-set\index.js:12:7)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at startup (bootstrap_node.js:201:16)
    at bootstrap_node.js:626:3

Вот консольный вывод команды:

λ node .
[ [ 'HMSET',
    'redishop:items:Handcrafted-Trees-Mug',
    'artist',
    'Martin Wessely',
    'price',
    10.99,
    'name',
    'Handcrafted Trees Mug',
    'description',
    'enim corporis voluptatibus laudantium possimus alias dolorem voluptatem similique aut aliquam voluptatem voluptatem omnis id consequatur',
    'manufacturer',
    'OHara-Group',
    'itemType',
    'mug',
    'productImg',
    'mug-400_002e1ecb8bd2.jpg' ],
  [ 'SADD', 'redishop:all-items', 'Handcrafted-Trees-Mug' ] ]

0 ответов

Другие вопросы по тегам