将新的关键元素推入MongoDB的子文档中?

您可以为此使用$set运算符。以下是语法-

db.yourCollectionName.update({"_id" : yourObjectId },{$set: { "yourOuterFieldName.anyInnerFieldName": yourValue}});

首先让我们创建一个包含文档的集合-

> db.pushNewKeyDemo.insertOne({"UserId":100,"UserDetails":{}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cda58f5b50a6c6dd317adbf")
}

以下是在find()方法的帮助下显示集合中所有文档的查询-

> db.pushNewKeyDemo.find();

这将产生以下输出-

{ "_id" : ObjectId("5cda58f5b50a6c6dd317adbf"), "UserId" : 100, "UserDetails" : { } }

以下是将新的关键元素推送到MongoDB子文档中的查询-

> db.pushNewKeyDemo.update({"_id" : ObjectId("5cda58f5b50a6c6dd317adbf")},{$set: {
   "UserDetails.UserName": "David Miller"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

让我们再次检查文档-

> db.pushNewKeyDemo.find();

这将产生以下输出-

{ "_id" : ObjectId("5cda58f5b50a6c6dd317adbf"), "UserId" : 100, "UserDetails" : { "UserName" : "David Miller" } }