如何在 mongoDB 文档中查找和打印对象数组

雕塑

我在 mongoDB 中有这个文档:

{
  "_id": {
    "$oid": "628f739398580cae9c21b44f"
  },
  "events": [
    {
      "eventName": "Dans",
      "eventText": "Danse",
      "eventDate": "010101"
    },
    {
      "eventName": "Spill",
      "eventText": "Spille",
      "eventDate": "020202"
    }
  ],
  "school": "Høyskolen Kristiania"
}

我试图在他们自己的 div 中获取每个事件(名称、文本和日期),但似乎无法自己访问每个“块”。它们应该作为一个打印,并且仅在学校匹配的地方打印,我的目的是为每所学校制作不同的文档并从那里通过查询进行过滤。不过,这不是问题。我能够将它们全部作为一组对象或类似对象

{
[dev:server]     _id: new ObjectId("628f739398580cae9c21b44f"),
[dev:server]     events: [ [Object], [Object] ],
[dev:server]     school: 'Høyskolen Kristiania'
[dev:server]   }

我的 API 目前看起来像这样: 当然,名称将由 userinfo 发送,硬编码用于测试目的。

router.get("/", async (req, res) => {
    const name = "Høyskolen Kristiania";

    const schools = await mongoDatabase
      .collection("tempschool")
      .find()
      .toArray();

    console.log(schools);

    res.json(schools);
  });

我的客户:

function EventCard({ event }) {
  const { eventName, eventDate, eventText } = event;

  return (
    <div>
      <h1>{eventName}</h1>
      <h3>{eventDate}</h3>
      <div>{eventText}</div>
    </div>
  );
}

export function SchoolPage() {
  const {loading, error, data} = useLoader(
      async () => await fetchJSON("/api/schools")
  );

  const school = data;

  if (loading) {
    return <div>Loading...</div>;
  }
  if (error) {
    return (
        <div>Error</div>
    );
  }

  return (
      <div>
        {school.map((event) => (
            <div key={event.name}>
              <EventCard event={event}/>
            </div>
        ))}
      </div>
  );
}
蝙蝠侠

我不知道你是否创建tempschool了一个MongooseSchema你应该,然后你会查询它,
const school = await TempSchool.findOne({school: "Høyskolen Kristiania"});
school.events然后会给你一个对象数组。您将在前端使用它作为

return(
    <div>
      school.events.map((event) => (
              <div>
              <h1>{event.eventName}</h1>
              <h3>{event.eventDate}</h3>
              <div>{event.eventText}</div>
              </div>
              )
          )
    </div>
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在MongoDB集合中查找与给定条件匹配的文档和单个子文档

如何在mongoose / mongodb中的文档中获取对象数组中的对象?

如何在MongoDB查询中过滤和映射文档数组?

如何在node和mongodb中查找?

如何在mongoDb文档中查找特定数组元素并进行查询和带范围过滤?

如何在mongodb中查找空文档?

如何在MongoDB中的项目数组中查找包含非空数组的文档

如何在mongodb中具有不同顺序的对象数组中查找数据?

如何使用MongoDB更新数组中对象的文档?

如何在MongoDB中查找包含%或$的文档值?

如何使用LINQ to MongoDb在文档中另一个数组内部的数组中查找和推送元素

如何在mongodb中查找文档并使用聚合查找属性?

如何在mongodb中查找数组大小大于1的文档

如何在MongoDB中查找大于文档大小的数组

MongoDB:如何从嵌套数组中的文档中删除对象

如何在MongoDB中查找并插入子文档数组列表?

如何在MongoDB中查找数组大小在一定范围内的文档?

如何在MongoDB中对子文档进行查找查询

MongoDB:如何在不指定数组索引的任何字段的子文档中查找包含字符串的文档?

如何使用Meteor和MongoDB从数组中的对象返回子文档

如何在MongoDb中查找与数组中的字段和子文档字段匹配的文档

如何在mongodb的文档中的对象中创建对象?

如何在MongoDB中聚合文档数组

MongoDB - 如何在嵌套的对象数组中查找空值

如何在 MongoDB 中查找包含一个或多个搜索数组元素的文档?

如何在数组对象 mongodb 上使用查找

如何从嵌套数组中获取字段和值并查询它们以在 mongodb 中查找文档?

如何在MongoDB中合并数组对象

如何在mongodb的对象数组中查找值