Bạn không thể sử dụng DBRef
các giá trị với khung tổng hợp. Thay vào đó, bạn cần sử dụng JavasScript xử lý mapReduce
để truy cập vào tên thuộc tính mà họ sử dụng:
db.coll.mapReduce(
function() {
emit( this.source.$ref, this["total_price"] )
},
function(key,values) {
return Array.sum( values );
},
{
"query": { "sold_at": { "$gte": start, "$lt": end } },
"out": { "inline": 1 }
}
)
Bạn thực sự không nên sử dụng DBRef
ở tất cả. Việc sử dụng này về cơ bản hiện không được dùng nữa và nếu bạn cảm thấy mình cần một số tham chiếu bên ngoài thì bạn nên "tham chiếu thủ công" điều này bằng mã của riêng bạn hoặc được triển khai bởi một số thư viện khác, bạn có thể làm như vậy theo cách được hỗ trợ nhiều hơn.