var obj = {};
obj.url = hostNames[i];
obj.statusCode = res.statusCode;
obj.headers = res.headers;
db.collection.save(JSON.stringify(obj, null, 2));
Я в настоящее время пытается запросить ответ HTTP через Node.js, а затем разборе, что выход в MongoDB с JSON.stringify
(метод, который преобразует вещи в формат документа JSON). По какой-то причине, я получаю некоторые странные выход в MongoDB, то выходит что-то вроде этого:Установка JSON.Stringified данных в MongoDB
> db.scrape.find()
{ "_id" : ObjectId("51472849650593014a3c20da"), "0" : "{", "1" : "\n", "2" : " ", "3" : " ", "4" : "\"", "5" : "u", "6" : "r", "7" : "l", "8" :
То, что я думаю, что он делает то, что он интерпретирует каждый символ в качестве новой переменной. Что я сделал неправильно в своем коде?
Я немного смущен здесь: почему вы пытаетесь сохранить JSON-строку, а не сам документ? Поскольку Mongo ожидает, что вы предоставите _document_, он будет использовать только более разумную вещь для предоставленной строки - анализирует ее как массив. Вы должны хотя бы сохранить его, как ... 'db.collection.save ({res: JSON.stringify (obj, null, 2)});'. Но, честно говоря, вы пытаетесь сделать здесь работу Монго: почему бы не форматировать этот объект при его выпуске? – raina77ow
Спасибо за ответ. Я думаю, было бы удобнее иметь JSON.stringify() для форматирования импорта. Что бы вы сделали в моем случае? Имейте в виду, что у меня есть три объекта: 'url',' statusCode' и 'headers' для каждого сайта. «Url» является первичным ключом для каждого ответа «веб-сайта». – theGreenCabbage