关于网页手动添加电影跟公众号语音添加电影问题
来源:7-3 第七天 兼容PC注册登录和首页(下)
vincents
2017-12-09
老师,现在整个项目可以跑起来了,语音可以添加电影,在数据库里面也可以看到数据。但是有一个问题,比如我们通过语音查了黑夜传说,微信端可以展示了,查看数据库里面的movies表也有电影数据,然后在categry表里面的movies数组里面也有对应的电影id明显跟movies表里面的id对应不上啊。
我们看下数据库截图:
我们看下语音保存电影的代码:
const updateMovies = async movie => {
var options = {
url: 'https://api.douban.com/v2/movie/subject/' + movie.doubanId,
json: true
}
var response = await request(options)
var data = JSON.parse(response.body)
_.extend(movie, {
country: data.countries[0],
language: data.language,
summary: data.summary
})
var genres = movie.genres
if (genres && genres.length > 0) {
var cateArray = []
genres.forEach(genre => {
cateArray.push(async () => {
var cat = await Category.findOne({name: genre}).exec()
if (cat) {
cat.movies.push(movie._id)
await cat.save()
}
else {
cat = new Category({
name: genre,
movies: [movie._id]
})
cat = await cat.save()
movie.category = cat._id
await movie.save()
}
})
})
Promise.all(cateArray)
}
else {
movie.save()
}
}
应该把movies里面的电影根据类型push到category的movie数组里,这边的方法有问题吗?老师帮忙看下哈
1回答
-
Scott
2017-12-10
怀疑是数据不一致有问题,可以这样,把本地数据库都清掉,然后再测试下,存入一条看下数据库,看从第几条开始,这里的数据同步开始出问题了,然后看下这条数据是老数据存入还是新数据新建,然后再来比对下这个代码,看是不是有问题
00
相似问题