2016-09-14 54 views
1

我想追加数据到我的数据库,每次用户点击一个像按钮,如果用户还没有点击它。问题是,当我追加到likesForPost时,显示了一个唯一的ID。我怎样才能摆脱这一点?否则,我不可能检查用户是否已经点击了按钮?如何追加没有唯一的自动ID firebase swift

这里是我的火力结构: enter image description here

它是绿色的部分是唯一的ID,唯一ID下的黑色区域是用户ID,我希望能够检查是否已经点击按钮。

这是我追加到likesForPost代码

let quoteString = [userId: true] 
       let refPhotos = FIRDatabase.database().reference().child("feed-items").child(dataPathen).child("likesForPost") 
       let refBase54 = refPhotos.childByAutoId() 
       refBase54.setValue(quoteString) 

希望你们能帮助我:-)

回答

1

用途: -

let prntRef = FIRDatabase.database().reference().child("feed-items").child(dataPathen).child("likesForPost") 
prntRef.observeSingleEventOfType(.Value, withBlock: { (snap) in 

    if let favDict = snap.value as? NSMutableDictionary{ 
     favDict.setObject("true",forKey : uid) 
     prntRef.setValue(favDict) 
    } else { 
     prntRef.setValue(["true":uid]) 
    } 
}) 

或者但是,这只是一个黑客!

FIRDatabase.database().reference().child("feed-items").child(dataPathen).child("likesForPost").updateChildValues(quoteString) 

更多选项检查: - https://stackoverflow.com/a/39458044/6297658

+0

我要追加数据,:-) –

+0

如果有一些方式来获得独特的自动ID的问题可能是固定的及时更新,火力是创造? –

+0

无关紧要,直到你的uid不存在于字典键中,它将作为追加值的手段 – Dravidian

相关问题