React Component迭代/循环Mongo对象的属性

时间:2016-08-10 18:57:01

标签: mongodb reactjs mongodb-query

我确实有一个Mongo $(function () { $('#txtNewPass').on('keypress', function () { alert($(this).val()); }); }); 可以为其图像存储预定义“插槽”的相册,如果有一种方法可以循环遍历集合的属性以便在分隔的div中显示图像,则感觉有点卡住。

我确实使用了这段代码来映射专辑封面并且效果很好:

collection

但是现在我请求你帮忙,是否可以循环遍历photoOne,photoTwo等...并且如果它是空的则跳过/不显示数据,例如在photoThree中。

albums() {
  return Albums.find().fetch();
}

{this.albums().map( (album) => {
  return <div key={album._id}><img src={album.cover} /></div>
 })}

1 个答案:

答案 0 :(得分:1)

我不是Mongo用户,但在map函数中,您可以检查现有值,并在那里处理它。有点像(肯定有一种更清洁的方式):

   this.albums().map( (album) => {
       for (key in album){
         if (key.startsWith('photo')){
           var title = Object.keys(album[key])[0];
           if (album[key][title].length != 0){
             console.log("Can use: " + Object.keys(album[key])[0])
           }
         }
       }
   })

结果:

Can Use This: titleOne
Can Use This: titleTwo

希望有所帮助,但似乎有照片与photoOne,photoTwo你限制使用的照片数量,并要求使用Object.keys来获取值(没有专门使用album.photoOne,专辑.photoTwo等。

如果相册照片存储在嵌入式文档中,您可以只包含已存在的照片和标题,避免检查空白照片和标题。你只需循环播放存在的照片......如果这是有道理的。