Tôi có một thiết lập db trong mongo mà tôi đang truy cập với pymongo.Làm thế nào tôi có thể trả về một mảng các đối tượng mongodb trong pymongo (không có con trỏ)? MapReduce có thể làm điều này không?
Tôi muốn có thể kéo một nhóm nhỏ các trường vào danh sách từ điển. Vì vậy, một cái gì đó giống như những gì tôi nhận được trong vỏ Mongo khi tôi gõ ...
db.find({},{"variable1_of_interest":1, "variable2_of_interest":1}).limit(2).pretty()
Tôi muốn một tuyên bố python như:
x = db.find({},{"variable1_of_interest":1, "variable2_of_interest":1})
trong đó x là một cấu trúc mảng của một số loại khá so với con trỏ --- tức là, thay vì lặp lại, chẳng hạn như:
data = []
x = db.find({},{"variable1_of_interest":1, "variable2_of_interest":1})
for i in x:
data.append(x)
Tôi có thể sử dụng MapReduce để đưa điều này vào một lớp lót không? Một cái gì đó như
db.find({},{"variable1_of_interest":1, "variable2_of_interest":1}).map_reduce(mapper, reducer, "data")
Tôi dự định xuất bộ dữ liệu này sang R để phân tích, nhưng tôi muốn tập trung IO vào Python.
Đây có phải là một điều python chung mà tôi không biết? danh sách() trên một đối tượng con trỏ buộc con trỏ vào các giá trị trỏ đến? – Mittenchops
nó là một ngôn ngữ điều - trong JavaScript (đó là tại mongo shell bạn sẽ làm điều đó như thế này: db.coll.find(). ToArray() - mà biến một con trỏ vào một mảng kết quả –
Trong trường hợp người ta muốn chỉ có một trường được trả lại từ db, có thể tạo một danh sách chỉ trường đó như vậy (ví dụ trong ví dụ của bạn cho 'a'): >>> dữ liệu [1.0, 2.0] ? – jaivalis