2015-04-30 18 views
6

Kiedy uruchomić to polecenie w robomongo, mam wyjście z różnych rzędów:Log pocieszyć W MongoDB

db.getCollection('houses').find({}) 

Teraz próbowałem uruchomić to samo polecenie w powłoce Mongo:

napisałem skrypt mongo.js:

conn = new Mongo(); 
    db = conn.getDB("development"); 

    db.getCollection('houses').find({}); 

Otwarty konsolę z:

mongo --shell 

i próbował uruchomić polecenie:

> load('mongo.js') 
    true 

Nie rozumiem dlaczego mam tylko true jako wyjście. Chcę zobaczyć wyniki zapytania! Co mam nie tak? Dzięki

Odpowiedz

14

W skrypcie, zamiast console.log można użyć

print() // tekstów zwykłych,

lub printjson() // dla json

Wykorzystanie:

printjson(db.getCollection('houses').find({}));

+0

Dzięki, działa idealnie! –

1

Podczas korzystania z

printjson(db.getCollection('houses').find({})); 

Otrzymuję dane wyjściowe z obiektu szukania.

{ 
"_mongo" : connection to ***.***.***.***, 
"_db" : *****, 
"_collection" : ***.houses, 
"_ns" : "*****.houses", 
"_query" : { 

}, 
"_fields" : null, 
"_limit" : 0, 
"_skip" : 0, 
"_batchSize" : 0, 
"_options" : 4, 
"_cursor" : null, 
"_numReturned" : 0, 
"_special" : false, 
"help" : function() { 
print("find(<predicate>, <projection>) modifiers") 
print("\t.sort({...})") 
........... 
} 

jeśli używasz

db.getCollection('houses').find({}).forEach(printjson) 

uzyskać pożądany wynik.