Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Tìm và thay thế trường NumberLong trong MongoDB

Sử dụng $set cùng update(). Tạo collection với trường 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") }

Hiển thị tất cả

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

Tìm UserId = 101 và thay bằng 10001

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

Kết quả

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

Kết quả (hai tài liệu UserId=101 đã thành 10001):

{
    "_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)
}

Lưu ý: NumberLong là kiểu 64-bit integer trong MongoDB shell. Cần dùng NumberLong() cả khi truy vấn và khi gán giá trị mới.