[DOCS-4250] $rename cannot rename fields that contain a dot Created: 28/Oct/14 Updated: 08/Dec/14 Resolved: 08/Dec/14 |
|
| Status: | Closed |
| Project: | Documentation |
| Component/s: | manual |
| Affects Version/s: | None |
| Fix Version/s: | v1.3.15 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Andrew Ryder (Inactive) | Assignee: | Kay Kim (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Participants: | |||||||||
| Days since reply: | 9 years, 10 weeks, 2 days ago | ||||||||
| Description |
|
The suggested solutions of using unset and/or rename commands to remove or rename fields that contain a dot does not work. Because the original source name must be specified as a field name one will have trouble getting a driver to encode it correctly. Using a driver that permits ignoring this problem (eg. C# with "CheckElementNames = false") causes the server to interpret the string as a dotted path and hence the unset or rename does not find the field at all (and does nothing). At this time I do not know the solution to this problem but the suggested solutions certainly do not seem to be possible. |
| Comments |
| Comment by Kay Kim (Inactive) [ 08/Dec/14 ] | |||||||
|
no worries. | |||||||
| Comment by Andrew Ryder (Inactive) [ 08/Dec/14 ] | |||||||
|
Hi Kay, you are right. In 2.4.12 it works. $unset can be used in this way on 2.4.12. Thanks for the correction. | |||||||
| Comment by Githook User [ 05/Dec/14 ] | |||||||
|
Author: {u'username': u'kay-kim', u'name': u'kay', u'email': u'kay.kim@10gen.com'}Message: | |||||||
| Comment by Kay Kim (Inactive) [ 05/Dec/14 ] | |||||||
|
Hey Andrew –
| |||||||
| Comment by Andrew Ryder (Inactive) [ 05/Dec/14 ] | |||||||
|
Hi there, just had a look at the review. Please note that unset does not work either. Both unset and rename use the mechanism of specifying the field in dot-notation which causes the server to translate it as a path. This means that the server looks for the wrong thing and does not find it. Unfortunately, the only solution I know of is to replace the whole document. |