我是nodejs和javascript的初学者,我尝试制作一个应用程序,但遇到了问题。 所以我使用nodejs express和mongodb 和我有一个函数,有两个参数err和result。 后者(结果)是一个json文件,其中包含以下元素(标题,URL,描述,publishdAt,King,etage,id ....)。 我正在寻找的是创建一个对象,并仅在该对象中保存四个元素(标题,URL,描述,publishdAt)。 我创建了一个数据库(视频),一个架构(videoSchema)和一个集合(collectionVideos),
这是我的代码:
youTube.search(Query, 5, function(error, result) {
if (error) {
console.log(error);
} else {
var convertedToJson = JSON.stringify(result, null, 2)
console.log(convertedToJson);
a = convertedToJson.title
b = convertedToJson.url
c = convertedToJson.descriptionb
d = convertedToJson.publishedAt
post = new videosNews({
"title": a,
"url": b,
"description": c,
"publishedAt": d
})
console.log(post)
post.save(function(err, data) {
if (err) {
console.log('rong')
} else {
console.log('save')
}
})
})
此代码不会产生任何错误,但是不会创建对象 这是我的console.log的结果: enter image description here 预先谢谢你
答案 0 :(得分:0)
首先删除stringify
函数。您不需要它。
还请注意,所需的元素不在结果的根目录中,而是在items
属性的snippet
对象数组下。
下面的示例仅获取第一项。
youTube.search(Query, 5, function(error, result) {
if (error) {
console.log(error);
} else {
var snippet = result.items[0].snippet;
post = new videosNews ({
title: snippet.title,
url: snippet.url,
description: snippet.description,
publishedAt: snippet.publishedAt
})
console.log(post)
post.save(function(err, data) {
if(err){console.log('rong')}
else {console.log('save')}
})
}
})
如果您知道items
数组中有多个项目,请考虑遍历该数组并将每个项目分别保存