[SERVER-1605] Incorrect recognition of value type - different results if object _id is provided. Created: 10/Aug/10 Updated: 30/Mar/12 Resolved: 20/Jun/11 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | 1.4.3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Tatyana Tvardovskaya | Assignee: | Aaron Staple |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
OS: CentOS_5.4_x64_v4.4 [rev 4] |
||
| Operating System: | ALL |
| Participants: |
| Description |
|
Have a strange mongoDB behavior, looks like a bug: find() and count() works sometimes incorrect for "$type" requests (both in mongo shell and pymongo). Problem found after fixing values from float to integer via Python script for col collection in fields parent.ancestors ( "parent" is array, "ancestors" is array.) Python fixing script had run on all fields found by request: }) Change was done by several means:
A great number of values was changed (ok), but, after fix was complete, the mongoDB still reported 3232 non-integers('$type': 1) for this field. Meantime, if any of reported non-integer entries is inspected with its _id, then mongoDB reports that the field is integer!!! (Expected result: mongo should report those values as non-integers OR it should not include those values into results of non-integer search)
Thus, it looks like find() and count() works sometimes incorrect for "$type" requests (both in mongo shell and pymongo). |
| Comments |
| Comment by Aaron Staple [ 20/Jun/11 ] |
|
Hi Tatyana - please reopen if necessary. |
| Comment by Aaron Staple [ 14/Jun/11 ] |
|
Hi Tatyana, Could you send the type of parent.0.ancestors.1? |
| Comment by Aaron Staple [ 24/Aug/10 ] |
|
Is there a reason you did not check the type of parent.0.ancestors.1 ? |