MongoDB in throwing 'object is already an operator expression' Error

From: BlackMage <devin.dixon22@xxxxxxxxx>
To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Thu, 5 May 2016 06:22:13 -0700 (PDT)
Why ads?


I am having a weird error when I try run an aggreate query with subtract. 
 Then language is PHP.


With the query below:

$ops = array(

        array(
            '$redact' => array(
                '$cond' => array(
                    'if' => array( 
                        '$gte' => array('$subtract' => array(20 ,10), 10)
                    ),
                    'then' => '$$KEEP',
                    'else' => '$$PRUNE'
                )
            )
        )
    );

$results = $collection ->aggregate($ops);



Logically, this should subtract 20 - 10, and the compare if the result is 
greater or equal to 10. The problem is it throws this error:

MongoResultException: localhost:27017: this object is already an operator 
expression, and can't be used as a document expression (at '0')

Now when I remove the $subtract and I run this:


$ops = array(
                array(
                    '$redact' => array(
                        '$cond' => array(
                            'if' => array( 
                                '$gte' => array(10,10)
                            ),
                            'then' => '$$KEEP',
                            'else' => '$$PRUNE'
                        )
                    )
                )
            );


This  compares if 10 is greater than 10, which works without the error. So 
why is the $subtract causing the above error message?

-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.org/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/f1bb5458-b894-43a1-98e3-792d83526a97%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?