如何在MongoDB中的嵌入式文档中插入新数据 [英] how to insert new data in an embedded document in MongoDB
问题描述
我有一个关于公司员工的文档,每个员工都有多个地址.这是一个嵌入式文档
I have a document about employees of a company and each employee has multiple addresses. It is an embedded document
{
_id: 12,
emp_name: "Joy Pett",
emp_gender: "Male",
emp_address: [
{
street: "123 Fake Street",
city: "Faketon",
state: "MA",
},
{
street: "1 Some Other Street",
city: "Boston",
state: "MA",
}
]
}
现在,我想为此员工插入一个新地址.为该员工插入新地址的查询是什么?
Now I want to insert a new address for this employee. What is the query to insert new address for this employee??
推荐答案
所需的是更新文档.您需要使用 update()
方法和 $push
运算符附加指定值到一个数组.
What is want is update your document. You need to use the update()
method and the $push
operator which appends a specified value to an array.
演示
更新操作之前的文档.
{
"_id" : 12,
"emp_name" : "Joy Pett",
"emp_gender" : "Male",
"emp_address" : [
{
"street" : "123 Fake Street",
"city" : "Faketon",
"state" : "MA"
},
{
"street" : "1 Some Other Street",
"city" : "Boston",
"state" : "MA"
}
]
}
现在,将以下地址推送到"emp_address":
Now let push the following address to the "emp_address":
{
street: "125 Fake2 Street2",
city: "Faketon2",
state: "SA"
}
我们的查询:
db.collection.update({ '_id': 12 },
{ '$push': {
'emp_address': {
street: "125 Fake2 Street2",
city: "Faketon2",
state: "SA"
}
}}
)
在我们进行更新操作之后.
After our update operation.
{
"_id" : 12,
"emp_name" : "Joy Pett",
"emp_gender" : "Male",
"emp_address" : [
{
"street" : "123 Fake Street",
"city" : "Faketon",
"state" : "MA"
},
{
"street" : "1 Some Other Street",
"city" : "Boston",
"state" : "MA"
},
{
"street" : "125 Fake2 Street2",
"city" : "Faketon2",
"state" : "SA"
}
]
}
您还可以使用 $addToSet
避免在数组中重复地址.
You can also use the $addToSet
to avoid duplicate address in the array.
这篇关于如何在MongoDB中的嵌入式文档中插入新数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!