[英]how to add a number to a integer field using nodejs and mongodb
[英]how to add number to field in every document in mongodb using nodejs
我的收藏有一個phonenumber
字段。 我想在電話號碼前加 91。
{
"_id": "6137392141bbb7723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":9000000001
},
{
"_id": "6137392141bbe30723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":9000000002
}
我想像這樣更新我的收藏。
{
"_id": "6137392141bbb7723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":919000000001
},
{
"_id": "6137392141bbe30723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":919000000002
}
我正在嘗試使用此代碼,但它沒有更新該字段。
var x = await User.find({});
x.forEach(async function(d)
{
var phone = d.phonenumber;
var newPhoneNumber = 910000000000+phone;
console.log(newPhoneNumber);
//update
await User.updateMany({},{$set:{phonenumber:newPhoneNumber}},
{
new: true,
runValidators : true
});
})
對於這樣的所有文檔,我只得到一個值:
{
"_id": "6137392141bbb7723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":919000000001
},
{
"_id": "6137392141bbe30723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":919000000001
},
{
"_id": "6137392141bbe30723",
"email": "brooke@cagle.com",
"lastname": "Cagle",
"firstname": "Brooke",
"phonenumber":919000000001
}
我不知道這種方法是否正確。
db.collection.update(
{}, //To match all documents
[{ $set: { phonenumber: { $concat: [ "91", "$phonenumber" ] } } }], //Concatenate 91 and the value in the field
{ multi: true }
)
這適用於 4.2 的 mongo 版本。 這是用於更新查詢的聚合管道。
我找到了解決方案。 也許,這行得通,
let mobile = 9876543210;
let phone = `91${mobile}`;
let final = Number(phone)
console.log(typeof(final), final+3);
所以,
var phone = d.phonenumber;
var newPhoneNumber = Number(`91${phone}`);
console.log(newPhoneNumber);
閱讀有關 Number() 的更多信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.