使用 MongoDB 按子文档拆分文档


要按子文档拆分文档,请在 MongoDB 中使用 $unwind。让我们创建一个包含文档的集合 -

> db.demo276.insertOne({"Name":"Chris","Subjects":["MySQL","MongoDB"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e48f953dd099650a5401a51")
}

使用 find() 方法在集合中显示所有文档 -

> db.demo276.find().pretty();

将产生以下输出 -

{
   "_id" : ObjectId("5e48f953dd099650a5401a51"),
   "Name" : "Chris",
   "Subjects" : [
      "MySQL",
      "MongoDB"
   ]
}

以下是按子文档拆分文档的查询 -

> db.demo276.aggregate( [ { $unwind : "$Subjects" } ] )

将产生以下输出 -

{ "_id" : ObjectId("5e48f953dd099650a5401a51"), "Name" : "Chris", "Subjects" : "MySQL" }
{ "_id" : ObjectId("5e48f953dd099650a5401a51"), "Name" : "Chris", "Subjects" : "MongoDB" }

更新于: 31-Mar-2020

540 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告