MongoDB 数组添加

insert 命令也可用于一次将多个文档插入集合中。下面的代码示例可用于一次插入多个文档。

以下示例显示了如何完成此操作,

**步骤 1: ** 创建一个名为 myEmployee 的 JavaScript 变量来保存文档数组

**步骤 2: ** 使用字段名称和值向变量添加所需文档

**步骤 3: ** 使用 insert 命令将文档数组插入集合中

var myEmployee=
    [    
        {
            "Employeeid" : 1,
            "EmployeeName" : "Smith"
        },
        {
            "Employeeid"   : 2,
            "EmployeeName" : "Mohan"
        },
        {
            "Employeeid"   : 3,
            "EmployeeName" : "Joe"
        },
    ];
db.Employee.insert(myEmployee);

如果命令执行成功,将显示以下输出

> db.Employee.insert(myEmployee);
BulkWriteResult({
    "writeErrors" : [],
    "writeConcernErrors" : [],
    "nInserted" : 3,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : []
})

输出显示这 3 个文档已添加到集合中。

以 JSON 格式打印

JSON 是一种名为** JavaScript Object Notation** 的格式,它只是一种以有条理,易于阅读的方式存储信息的方法。在我们的进一步示例中,我们将使用 JSON 打印功能以更好的格式查看输出。

让我们看一下以 JSON 格式打印的示例

db.Employee.find().forEach(printjson)

代码说明:

  1. 第一个更改是将名为 Each() 的函数附加到 find() 函数。这样做是为了确保明确地浏览集合中的每个文档。通过这种方式,你可以更好地控制对集合中的每个文档执行的操作。
  2. 第二个更改是将 printjson 命令放入 forEach 语句。这将导致集合中的每个文档以 JSON 格式显示。

如果命令执行成功,将显示以下输出

输出:

> db. Employee.find().forEach(printjson);
{
	"_id" : objectId("563479cc8a8a4246bd27d784"), 
	"Employeeid" : 1, 
	"EmployeeName" :'"Smith"
}
{
    "_id" : ObjectId("563479d48a8a4246bd27d785"), 
    "Employeeid" : 2,
    "EmployeeName" : ' "Mohan"
}
{
	"_id" : ObjectId("563479df8a8a4246bd27d786"), 
	"Employeeid" : 3, 
	"EmployeeName" : '"Joe"
}

输出清楚地显示所有文档都以 JSON 样式打印。