$addToSet
operatorchỉ thêm một giá trị vào một mảng nếu giá trị chưa có trong mảng. Nếu giá trị nằm trong mảng, $addToSet
không sửa đổi mảng.
Tôi muốn chèn hai giá trị không được sao chép qua một yêu cầu. Điều này có thể không?
Tôi đã cố chuyển một mảng tới toán tử $addToSet
nhưng nó đã chèn một mảng thay vì mỗi giá trị từ mảng đó.
$ mongo test
MongoDB shell version: 2.4.9
connecting to: test
> db.c.insert({a: [1, 2, 3]})
> db.c.find()
{ "_id" : ObjectId("53511a255a82cd559393d840"), "a" : [ 1, 2, 3 ] }
> db.c.update({}, {$addToSet: {a: [2, 4]}})
> db.c.find()
{ "_id" : ObjectId("53511a255a82cd559393d840"), "a" : [ 1, 2, 3, [ 2, 4 ] ] }
tôi đã thêm câu trả lời của riêng tôi. :-) Vì vậy, dễ dàng ... –
@ IonicăBizău Dù sao đi nữa. Bạn biết nếu bạn có ý định thêm một loại trả lời Q & A, bạn thực sự có thể thực hiện cả câu hỏi và câu trả lời trong một bài nộp. Điều này tránh những kẻ như chúng tôi chỉ gửi câu trả lời vì bạn thực sự đã làm cả hai cùng một lúc. Tôi cá cược trên bản sao ở đâu đó mặc dù –
Khi tôi hỏi câu hỏi tôi không biết câu trả lời. Nhưng sau khi đăng nó, tôi nhớ rằng có '$ mỗi' nhà điều hành có thể liên quan đến điều đó. :-) –