2011-12-21 34 views
43

Tôi đang tìm hiểu về chức năng giảm bản đồ của mongodb. Thử nghiệm đầu tiên của tôi không hoạt động như tôi mong đợi và tôi muốn biết nó hoạt động như thế nào.Có thể ghi vào bàn điều khiển mongodb trong thực thi javascript không?

Có cách nào bất kỳ cách nào để viết bảng điều khiển mongodb từ các hàm javascript để tôi có thể kiểm tra không?

Tôi đã thử console.log("...") nhưng không hoạt động.

Tôi sẽ hỏi sau về các thử nghiệm của tôi nếu không có cách nào để thực hiện.

Trả lời

73

Bạn phải sử dụng 'print("anything ..")' hoặc printjson để hiển thị đối tượng.

[email protected]:~$ mongo 
MongoDB shell version: 2.0.2 
connecting to: test 
> object = { "name" : "any name .." , "key" : "value" } 
{ "name" : "any name ..", "key" : "value" } 
> printjson (object) 
{ "name" : "any name ..", "key" : "value" } 
> print ("hello world") 
hello world 
> 
+0

Tôi đang sử dụng Mac và tính năng này hoạt động. Nếu nó không hoạt động, đó là bởi vì bạn đang làm điều gì đó sai trái. Kiểm tra lại đường dẫn tệp, quyền của bạn, v.v. – CommaToast

-2

Bạn chỉ có thể viết tên của hàm/đối tượng như vậy:

>fn = function(){return12;} 
>fn 
function(){return12;} 
> 

Hãy thử nó ở đây: http://try.mongodb.org/

6

Tôi đoán từ bản đồ/giảm chức năng bạn cần để chèn của bạn gỡ lỗi thư vào một số bộ sưu tập nhật ký:

var map = function() { 
    //some staff here 
}; 

var reduce = function(key, values) { 
    db.mr_logs.insert({message: "Message from reduce function"}); 
    //some staff here 
}; 


res = db.items.mapReduce(map, reduce,{ query : {}, out : 'example1' }) 

Sau này, bạn có thể tìm thấy kết quả gỡ lỗi của mình trong bộ sưu tập mr_logs.

db.mr_logs.find(); 

Đối với print có vẻ như không in đầu ra bàn điều khiển khi bạn đang ở trong bản đồ hoặc chức năng giảm.

Các vấn đề liên quan