Bạn cần sử dụng 'ký hiệu dấu chấm' MongoDB cho phần tử được nhúng, có nghĩa là "khóa" phải là kiểu ký hiệu chuỗi. Đồng thời áp dụng $exists
để khớp với vị trí khóa trong có và .unset()
phương thức từ mongoid:
User.where('_id'=> userId, 'ttokens.919839398393'=> { '$exists' => true }).unset(
'ttokens.919839398393'
)
Đây thực sự là $unset
toán tử của MongoDB, sẽ xóa "khóa" khỏi tài liệu theo đường dẫn được chỉ định.
Từ tài liệu mẫu, điều này sẽ khớp và loại bỏ khóa đầu tiên, chỉ để lại khóa còn lại.