2016-04-07 16 views
1

Bu ben başka js dosyasında bir işlev (js.js)Bir alanın değeri mongoose mongodb sorgusundan nasıl edinilir?

var fields = "workaholic alcoholic insomniac"; 
    var valid = require("./js"); 
    Hacker.find({name: "arun"}, fields)//, function(err, hackers) { 
     .then(valid.myfun) 
     .catch(err => console.log(err,fields)); 

Bu şimdiye başvuran ediyorum js.js dosyasıdır aramaya kullanıyorum benim ana js dosyadan kod parçasıdır ana js i ana js dosyasını çalıştırdığınızda, ben bir dizide benim sorgu yanıtını alıyorum fark

exports.myfun = function(hackers) { 
    console.log(hackers); 
    console.log(hackers.workaholic); 
    var workaholic = hackers.workaholic; 
    var alcoholic = hackers.alcoholic; 
    var insomniac = hackers.insomniac; 
    console.log(workaholic); 
    console.log(alcoholic); 
    console.log(insomniac); 
    show(workaholic,alcoholic,insomniac); 
} 
    function show(a,b,c) { 
     console.log("Am I workaholic: "+a); 
     console.log("Am I alcoholic: "+b); 
     console.log("Am I insomniac: "+c); 
    } 

dosya.

 _id: 5706541ba3fe824c2f017680 } ] 
undefined 
undefined 
undefined 
undefined 
Am I workaholic: undefined 
Am I alcoholic: undefined 
Am I insomniac: undefined 

Yani, nasıl tarafından döndürülen alanın değerini getirme do i değişkenlere bu alanların değerini ayarlamak çalıştığınızda

C:\Users\Balajee\Desktop\project\Ultro>node hack 
[ { fun: {}, 
    workaholic: 'Yes', 
    alcoholic: 'No', 
    insomniac: 'Yes', 
    _id: 5706541ba3fe824c2f017680 } ] 

, ben alıyorum "tanımsız" bir dizi içinde mongoose? sorgu dizisi olmadan dönmek mümkün mü?

cevap

1

Kullanım findOne() yerine find(). Bu, JSON nesnesinin dizisini yerine bir JSON nesnesini döndürür.

+1

Teşekkür çalışma var !! –

2

find yerine findOne kullanabilirsiniz. findOne, bir dizi yerine, sorgunuzla eşleşen tek bir nesneyi döndürecektir.

Hacker.findOne({name: "arun"}, fields) 
+0

, teşekkür ederim o çalışma var o –

2

Ne yapmak gerektiğini düşünüyorum:

exports.myfun = function(err, hackers) { 
    // ... 
} 

geri arama ilk param olarak err alır çünkü

İlgili konular