Я пытаюсь объединить два поля здесь моя коллекцияобъединить два поля в объект
db.Acc_Details.findOne()
{
"_id": ObjectId("577f43fe748646cc91370713"),
"Acc_Id": 1,
"Name": "xxxxx",
"Phone": NumberLong("123456789"),
"Email": "[email protected]"
}
Теперь я хочу, чтобы объединить Phone
и Email
в contact
и обновлять эту коллекцию
db.Acc_Details.findOne()
{
"_id": ObjectId("577f43fe748646cc91370713"),
"Acc_Id": 1,
"Name": "xxxxx",
"Contact": {
"Phone": NumberLong("123456789"),
"Email": "[email protected]"
}
}
Это то, что я пробовал, но я не знаю, правильно это или нет:
db.Acc_Details.aggregate([
{
$project: {
"Contact": {
"$map": {
input: { $literal: ["p1", "p2"] },
as: "p",
in: {
$cond: [
{ $eq: ["$$p", "p1"] },
"$Phone",
"$Email"
]
}
}
}
}
},
{ $unwind: "$Contact" }
])
Результат
{ "_id" : ObjectId("577f43fe748646cc91370713"), "Contact" : NumberLong("12356789") }
{ "_id" : ObjectId("577f43fe748646cc91370713"), "Contact" : "[email protected]" }
Может кто-нибудь помочь мне с этим?
Но как обновить таблицу – raja
@raja Добавлена операция обновления – chridam