MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

biến với dotnotation mongodb

Bạn cần tạo đối tượng có khóa biến thiên của mình một cách riêng biệt, vì JS trước ES2015 không cho phép bất kỳ thứ gì khác ngoài chuỗi hằng số trong cú pháp theo nghĩa đen của đối tượng:

var stuffID = 5
var stuff = {};                 // create an empty object
stuff['stuff.' + stuffID] = 1;  // and then populate the variable key

collection.update({
    "id": id,
}, {
    "$inc": stuff               // pass the object from above here
}, ...);

CHỈNH SỬA trong ES2015, giờ đây có thể sử dụng một biểu thức làm khóa trong một đối tượng theo nghĩa đen, bằng cách sử dụng [expr]: value cú pháp và trong trường hợp này cũng sử dụng phép nội suy chuỗi backtick ES2015:

var stuffID = 5;
collection.update({
    "id": id,
}, {
    "$inc": {
        [`stuff.${stuffID}`]: 1
    }
}, ...);

Đoạn mã trên hoạt động trong Node.js v4 +



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose đang lưu tài liệu ngay cả khi tôi kiểm tra xem tài liệu đã tồn tại chưa

  2. Node.js và MongoDB, sử dụng lại đối tượng DB

  3. MongoDB lọc nội dung mảng đối tượng dựa trên thành viên đối tượng

  4. Spring Mongodb Múi giờ Dấu thời gian gây hiểu lầm

  5. Ứng dụng không khởi động được (cổng 8080) không khả dụng