bson.M là bản đồ [string] giao diện không phải là lát cắt. Và bạn cần giao diện [] cho "$ slice".
o1 := bson.M{"$project": bson.M{"user": bson.M{"$slice": []interface{}{"$user", 2, 1}}}}
Nếu bạn chia sẻ một số dữ liệu giả, đầu vào và đầu ra, tôi có thể giúp bạn thêm.