Javascript 如何在MongoDB中从数组渲染对象并进行响应

Javascript 如何在MongoDB中从数组渲染对象并进行响应,javascript,reactjs,mongodb,react-redux,Javascript,Reactjs,Mongodb,React Redux,我不知道如何将数组中的对象渲染为react 我的MongoDB模式是 const postSchema = new mongoose.Schema({ userID: { type: String }, dateTime: { type: Date, default: Date.now }, comments: [{ userID: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },

我不知道如何将数组中的对象渲染为react

我的MongoDB模式是

const postSchema = new mongoose.Schema({
    userID: { type: String },
    dateTime: { type: Date, default: Date.now },
    comments: [{
        userID: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
        likes: { type: Number, default: 0 },
    }],
})

在react中,我只想渲染dateTime和likes

function Post(post) {
    const {dateTime, likes } = post;
    return (
        <tr>
            <td>
                {dateTime}
            </td>
            <td>
                {likes}
            </td>
         
        </tr>
    );
  }
功能Post(Post){
const{dateTime,likes}=post;
返回(
{dateTime}
{likes}
);
}
dateTime工作正常,可以呈现数据,但不会呈现任何内容。我尝试了{comments.likes},但错误显示:error:Objects作为React子对象无效(找到:带有键{dateTime,likes}的object)。如果要呈现子对象集合,请改用数组

function Post(post) {
    const {dateTime, comments.likes } = post;
    return (
        <tr>
            <td>
                {dateTime}
            </td>
            <td>
                {comments.likes}
            </td>

        </tr>
    );
  }
功能Post(Post){
const{dateTime,comments.likes}=post;
返回(
{dateTime}
{comments.likes}
);
}

有人知道如何渲染“喜欢”以便我可以在react中显示它们吗?非常感谢。注释是一个对象数组。因此,我们需要迭代以呈现类似的内容。假设您需要通过总结评论中的所有喜好来显示帖子的喜好

const {dateTime, comments} = post;

const getLikes = () => {
  const likes = comments.reduce((totalLikes, comment) =>  totalLikes + comment.likes , 0);
  return likes;
}

return (
  <tr>
      <td>
          {dateTime}
      </td>
      <td>
          {getLikes()}
      </td>
  </tr>
);
const{dateTime,comments}=post;
常量getLikes=()=>{
const likes=comments.reduce((totalikes,comment)=>totalikes+comment.likes,0);
回报喜欢;
}
返回(
{dateTime}
{getLikes()}
);