在 MongoDB 中查詢和替換 NumberLong 型別欄位?


使用 $set 運算子和 update() 來實現這一點。我們先建立一個帶有文件的集合。這裡我們設定了一個欄位為 NumberLong −

> db.findAndReplaceDemo.insertOne({"UserId":NumberLong(101)});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2c960b64f4b851c3a13b6")
}
> db.findAndReplaceDemo.insertOne({"UserId":NumberLong(110)});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2c966b64f4b851c3a13b7")
}
> db.findAndReplaceDemo.insertOne({"UserId":NumberLong(101)});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2c969b64f4b851c3a13b8")
}
> db.findAndReplaceDemo.insertOne({"UserId":NumberLong(120)});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2c96cb64f4b851c3a13b9")
}
> db.findAndReplaceDemo.insertOne({"UserId":NumberLong(130)});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2c96eb64f4b851c3a13ba")
}

以下是使用 find() 方法顯示集合中所有文件的查詢 −

> db.findAndReplaceDemo.find().pretty();

這將產生以下輸出 −

{ "_id" : ObjectId("5cd2c960b64f4b851c3a13b6"), "UserId" : NumberLong(101) }
{ "_id" : ObjectId("5cd2c966b64f4b851c3a13b7"), "UserId" : NumberLong(110) }
{ "_id" : ObjectId("5cd2c969b64f4b851c3a13b8"), "UserId" : NumberLong(101) }
{ "_id" : ObjectId("5cd2c96cb64f4b851c3a13b9"), "UserId" : NumberLong(120) }
{ "_id" : ObjectId("5cd2c96eb64f4b851c3a13ba"), "UserId" : NumberLong(130) }

以下是查詢和替換 MongoDB 中 NumberLong 型別欄位的查詢 −

> db.findAndReplaceDemo.update({"UserId":NumberLong(101)}, {$set:{"UserId":NumberLong(10001)}},false,true);
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

讓我們檢查上述集合中的更新結果 −

> db.findAndReplaceDemo.find().pretty();

這將產生以下輸出 −

{
   "_id" : ObjectId("5cd2c960b64f4b851c3a13b6"),
   "UserId" : NumberLong(10001)
}
{    "_id" : ObjectId("5cd2c966b64f4b851c3a13b7"),
   "UserId" : NumberLong(110)
}
{
   "_id" : ObjectId("5cd2c969b64f4b851c3a13b8"),
   "UserId" : NumberLong(10001)
}
{
   "_id" : ObjectId("5cd2c96cb64f4b851c3a13b9"),
   "UserId" : NumberLong(120)
}
{
   "_id" : ObjectId("5cd2c96eb64f4b851c3a13ba"),
   "UserId" : NumberLong(130)
}

更新於:2019 年 7 月 30 日

405 次檢視

開啟您的 職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.