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

Nodejs Mongo chèn vào subocument - Tên trường động

Bạn phải xây dựng $set của mình công cụ sửa đổi theo chương trình:

var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };

Và sau đó sử dụng modifier làm tham số thứ ba trong findAndModify của bạn gọi.

Bạn cũng có thể muốn xem xét việc thay đổi companies là một mảng thay vì một đối tượng được nhúng.

Node.js 4.x Cập nhật

Bây giờ bạn có thể sử dụng cú pháp thuộc tính được tính toán để thực hiện việc này trực tiếp trong đối tượng theo nghĩa đen:

collection('users').findAndModify(
    {username: usern}, 
    [['_id', 'asc']], 
    {$set:{['companies.' + companyid]: { desksmemberships:[] }}},    
    {new: true},
    function(){...});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose xóa (kéo) tài liệu trong một mảng, không hoạt động với ObjectID

  2. Cách sử dụng aggregrate trong mongodb để $ match _id

  3. Trong Flask, chuyển đổi đối tượng POST của biểu mẫu thành một đại diện phù hợp với mongodb

  4. Mongodb $ nơi truy vấn luôn đúng với nodejs

  5. Tôi cần truy xuất đối tượng MongoDB chỉ với mục mảng của bộ lọc