2015-06-01 58 views
1

檢查我的簡單集合返回一個布爾值:如何查詢字段MongoDB中有一個布爾值,其是否真或假

{_id: "01", 
    name: "Jimmy", 
    canDrive: false } 

我想document發現做一次什麼,是操縱DOM,並顯示出<div class="driving-tutorial>如果字段canDrive值是false和隱藏它,如果值是true

像這樣的流星:

Template.profile.rendered = function() { 
    if (<query>,<field> == true){ 
     $('.driving-tutorial').hide(); 
    else { 
     $('.driving-tutorial').show(); } 

回答

2

您可以使用findOne()方法實現此邏輯,該方法將查找與參數中的選擇器/查詢對象相匹配的第一個文檔。因此,您可以使用Mongo選擇器調用findOne(),它是一個對象,用於指定所需文檔的一組必需屬性以匹配文檔。例如,這個選擇

var doc = Model.findOne({ canDrive: false }); 

將這個文件

{ 
    _id: "01", 
    name: "Jimmy", 
    canDrive: false 
} 

然後,您可以用上面的邏輯在你的模板函數來檢查文件和場的存在,同時銘記匹配

Template.profile.rendered = function() { 
    var doc = Model.findOne({ canDrive: false }); 
    if (doc && !doc.canDrive){ 
     $('.driving-tutorial').show(); 
    else { 
     $('.driving-tutorial').hide(); 
    } 
} 
:如果它未能找到匹配的文件,如果文件尚未加載或尚未從集合已被刪除常發生 findOne()將返回null

您也可以使用接受布爾參數的jquery toggle()方法的第二個版本。如果此參數爲true,則顯示匹配的元素;如果false,元素被隱藏:

Template.profile.rendered = function() { 
    var doc = Model.findOne({ canDrive: false }), 
     canDrive = (doc && !doc.canDrive); 
    $('.driving-tutorial').toggle(canDrive); 
} 
+1

* face palm * - 它是點符號。也欣賞'toggle()'advise – phtn458

相關問題