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

Sử dụng biến trong truy vấn MongoDB

Trong MongoDB shell (mongosh), có thể khai báo biến JavaScript với var hoặc let/const và sử dụng trong truy vấn.

Dữ liệu mẫu

> db.demo107.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2ee1b19fd5fd66da214471") }
> db.demo107.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2ee1b49fd5fd66da214472") }
> db.demo107.insertOne({"Name":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e2ee1b89fd5fd66da214473") }

Sử dụng biến

> var firstName = "Bob";
> db.demo107.find({"Name": firstName});

Kết quả

{ "_id" : ObjectId("5e2ee1b49fd5fd66da214472"), "Name" : "Bob" }

Mẹo hay:

  • Dùng let hoặc const thay var (ES6+, mongosh hỗ trợ)
  • Biến có thể là object/array: const filter = {Name: "Bob", Age: {$gt: 20}}
  • Kết hợp với hàm: const getUsers = (name) => db.demo107.find({Name: name})
  • Trong script file (.js), biến hoạt động như JavaScript bình thường

Lưu ý: Biến chỉ tồn tại trong session shell hiện tại. Không lưu được trong database. Driver ngôn ngữ khác (Node.js, Python...) dùng biến native của ngôn ngữ đó.