仅从firebase

时间:2017-02-26 04:25:17

标签: swift firebase swift2 firebase-realtime-database nspredicate

我在swift 2项目中使用firebase。

{
   'Registration'
     {
    'SomerandomkeyofuserID':
        {
        'Car':
            {
            'random key 1':
                {
                'name': 'Chris';
                'date': '24 May 2016'
                }
            'random key 2':
                {
                'name': 'John';
                'date': '25 May 2016'
                }
            'random key 3':
                {
                'name': 'Chris';
                'date': '24 May 2016'
                }
            'random key 4':
                {
                'name': 'John';
                'date': '25 May 2016'
                }

        }
}

我想要获取仅具有' name'的数据快照。 =' john'

我正在使用下面的代码。但是它给了我所有4个数据。

let userRef = dataBaseRef.child("Registration/").child((FIRAuth.auth()!.currentUser?.uid)!).child("Car")

let userRef1 =  userRef.queryOrderedByChild("car_name")

userRef1.observeEventType(.Value, withBlock: { (snapshot) in
    print("SNAPSHOT: ",snapshot.childrenCount)
    print("SNAPSHOT: ",snapshot)

)}

请帮忙。

1 个答案:

答案 0 :(得分:3)

将userRef1引用更改为:

let userRef1 =  userRef.queryOrdered(byChild: "name").queryEqual(toValue: "John")

这应该有用。

另请注意,您需要index您的数据。