在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" }