首页 > 解决方案 > 将 mongodb 数组映射到对象

问题描述

我正在尝试根据索引映射数组。我只能一次映射所有数组我如何用索引映射每个数组?

html:

我想要做的是每当用户点击开始它应该只显示一个对象的值:

<div class="col" *ngFor="let val of data" style="background-color: whitesmoke;">
  <div class="col-sm-11">
    <div class="card">
      <div class="card-body">
        <h5 class="card-title">Id: {{val._id}}</h5>
        <h5 class="card-title">Title: {{val.title}}</h5>
        <p class="card-text">Description: {{val.description}}</p>
        <button  [routerLink]="['question']">Start</button>
      </div>
    </div>
  </div>
  <br>
</div>

ts文件:

  data: Model[] = []; 
    getData() {
        this.http.get<any>('https://node-quiz1.herokuapp.com/quizzes/').subscribe(response => {
          console.log(response);
          // @ts-ignore
          this.data = response;
        });

模型.ts

export interface Model {
  title:string;
  description:string;

  Question1:string;
  Q1Option:boolean;

  Question2:string;
  Q2option1:string;
  Q2option2:string;
  Q2option3:string;
  Q2option4:string;
}

Mongodb:我在 Mongodb 中有以下方式的数据;我正在尝试的是当用户首先点击它应该只显示与第一个索引相关的数据

_id : 6088a6c72f78db0015e93666
title : "easy"
description : "Atempt all"
Question1 : "First question goes here"
Q1Option : true
Question2 : "second question goes here"
Q2option1 : "option "
Q2option2 : "option "
Q2option3 : "option"
Q2option4 :"option "

_id : 6088b00f2f78db0015e93667
title : "Medium"
description : "Atempt all"
Question1 : "First question goes here"
Q1Option : true
Question2 : "second question goes here"
Q2option1 : "option "
Q2option2 : "option "
Q2option3 : "option"
Q2option4 :"option "

标签: arraystypescriptmongodbmapping

解决方案


您可以使用 find 方法:

selectedElement= categories.data(quizz => quizz._id == _your_idex);

推荐阅读