Сейчас я пишу данные в файл json и возвращаю их обратно на страницу html. Теперь я хочу сделать то же самое с mongodb Database. Я что-то пробовал, но он не работает.Я хочу записать данные в базу данных mongodb, используя node.js
app.get('/', function(req, res){
url = 'http://www.amazon.in/Sony-Xperia-Z3-Copper-32GB/dp/B010V448ZC/ref=pd_rhf_se_s_cp_6?ie=UTF8&dpID=419rmomR%2BjL&dpSrc=sims&preST=_SL500_SR135%2C135_&refRID=19RT23W7T48Z99XNT6GK';
request(url, function(error, response, html){
if (!error) {
var $ = cheerio.load(html)
var json = {Product_Name : "", Brand : "", Color : "", Image : "", Price : "", Rating : ""};
var P_name = $('#title').children().text();
var brand = $('#brand').text();
var color = $('.a-row').find('span.selection').text();
var price = $('#price').find('span.a-size-medium').text();
var rating = $('#averageCustomerReviews').find('span.a-icon-alt').text();
var image = $('.imgTagWrapper').children().attr('src');
/*json.Product_Name = P_name;
json.Brand = brand.trim();
json.Color = color.trim();
json.Price = price.trim();
json.Rating = rating.trim();
json.Image = image.trim();
fs.writeFile('output.json', JSON.stringify(json, null, 4), function(err){
console.log('File successfully written! - Check your project directory for the output.json file');
})*/
var insertDocument = function(db, callback) {
db.collection('proInfo').insertOne({
"Product_Name": P_name,
"Brand":brand,
"Color":color,
"Price":price,
"Rating":rating,
"Image":image
}, function(err, result) {
assert.equal(err, null);
console.log("Inserted a document into the proInfo collection.");
callback(result);
});
};
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
insertDocument(db, function() {
db.close();
});
});
res.send('Check your console!')
} else {
console.log("We’ve encountered an error: " + error);
}
})
})
Он показывает некоторые ошибки в console.log
D: \ Hemanth \ Узел Js \ веб-скребок \ node_modules \ MongoDB \ Lib \ url_parser.js: 20 певд Error ('недействителен схемы, ожидаемый mongodb '); ^
Ошибка: недопустимая схема, как ожидается MongoDB на module.exports
Может кто-нибудь помочь мне решить эту проблему?
Не уверен, что 'url' предназначается, чтобы быть в вашей компании (кажется, указывает на веб-странице), но, как указано в MongoClient для подключения, вам необходимо следовать формату здесь: [Формат URI-файла соединения] (https://docs.mongodb.org/manual/reference/connection-string/). Это означает указать ваш экземпляр сервера MongoDB и имя базы данных. Также потратьте еще немного времени на чтение [документации драйвера] (http://mongodb.github.io/node-mongodb-native/2.1/api/), так как ваши концепции еще не совсем там. –
url ссылается на другую веб-страницу, используя то, что я извлек информацию и сохранил ее в переменной. Я написал эту информацию в json-файл успешно, но теперь я хочу записать их в базу данных. –
Дело в том, что вы используете это как строку соединения с MongoClient, когда вам этого не нужно. Это и есть ваша ошибка. –