MongoDB - 如何將行復制到新建立的集合中?


要將行復制到另一個集合中,請使用 MongoDB。語法如下,其中“yourOldCollectionName”是舊集合,而“yourNewCollectionName”將獲取複製,即新集合−

db.yourOldCollectionName.aggregate([{ $sample: { size: 333333 }}, {$out: "yourNewCollectionName"} ],{allowDiskUse: true});

我們首先使用文件建立集合−

> db.sourceCollection.insertOne({"EmployeeName":"Robert","EmployeeSalary":15000});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0397c1f5e889d7a5199506")
}
> db.sourceCollection.insertOne({"EmployeeName":"David","EmployeeSalary":25000});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0397c3f5e889d7a5199507")
}
> db.sourceCollection.insertOne({"EmployeeName":"Mike","EmployeeSalary":29000});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0397c4f5e889d7a5199508")
}

以下是使用 find() 方法從集合中顯示所有文件的查詢−

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

這將生成以下輸出−

{
   "_id" : ObjectId("5e0397c1f5e889d7a5199506"),
   "EmployeeName" : "Robert",
   "EmployeeSalary" : 15000
}
{
   "_id" : ObjectId("5e0397c3f5e889d7a5199507"),
   "EmployeeName" : "David",
   "EmployeeSalary" : 25000
}
{
   EmployeeName" : "Mike",
   "E"_id" : ObjectId("5e0397c4f5e889d7a5199508"),
   "mployeeSalary" : 29000
}

以下是建立新集合“destinationCollection”的查詢−

> db.createCollection('destinationCollection');
{ "ok" : 1 }

以下是將行從“sourceCollection”複製到另一個新集合“destinationCollection”的查詢−

> db.sourceCollection.aggregate([{ $sample: { size: 333333 }}, {$out: "destinationCollection"} ],{allowDiskUse: true});

以下是使用 find() 方法從集合中顯示所有文件的查詢−

> db.destinationCollection.find().pretty()

這將生成以下輸出,其中新集合從第一個集合“sourceCollection”複製了記錄−

{
   "_id" : ObjectId("5e0397c4f5e889d7a5199508"),
   "EmployeeName" : "Mike",
   "EmployeeSalary" : 29000
}
{
   "_id" : ObjectId("5e0397c3f5e889d7a5199507"),
   "EmployeeName" : "David",
   "EmployeeSalary" : 25000
}
{
   "_id" : ObjectId("5e0397c1f5e889d7a5199506"),
   "EmployeeName" : "Robert",
   "EmployeeSalary" : 15000
}

更新於:2020 年 3 月 27 日

288 次瀏覽

開啟你的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.