[COMPASS-3421] $exists query filter in Schema blanks entire tab with javascript errors Created: 30/Jan/19  Updated: 29/Oct/23  Resolved: 14/Feb/19

Status: Closed
Project: Compass
Component/s: Compass
Affects Version/s: 1.16.3
Fix Version/s: 1.17.0, 1.18.0

Type: Bug Priority: Major - P3
Reporter: Brian Blevins Assignee: Durran Jordan
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

MacOSX


Attachments: File COMPASS-3421.mov     PNG File image-2019-01-30-17-50-40-730.png     PNG File image-2019-01-30-17-51-09-596.png    
Issue Links:
Related
related to COMPASS-3498 $eq in query filter on Schema tab bla... Closed
related to COMPASS-3652 $type in query filter on Schema tab b... Closed
Sprint: Iteration Xiaolongbao

 Description   

Simply pasting the following query filter into the Schema tab causes the entire tab to go blank and javascript errors in the console.

{"tripduration":{"$exists":true}}

The attached screenshot shows the behavior on the citibike.trips collection in the M001 student cluster where the "tripduration" is one of the fields.


This seems to be the new content in the console after pasting the query.

TypeError: Expected a function
at createWrap (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/lodash.curryright/index.js:712)
at curryRight (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/lodash.curryright/index.js:957)
at /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/lib/inValueRange.js:62
at /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:161
at baseForOwn (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:122)
at forOwn (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:447)
at inValueRange (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/lib/inValueRange.js:60)
at SVGRectElement.<anonymous> (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/many.js:222)
at /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:962
at d3_selection_each (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:968)
object.(anonymous function) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:661
Yg @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:188
c.callback @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:195
Wf @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:144
Xf @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:145
bi @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:220
Wh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:212
Zh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:211
Xh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:211
Bh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:209
pg @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:207
enqueueSetState @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:148
F.setState @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react/cjs/react.production.min.js:12
onQueryChanged @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/component/minichart.jsx:37
eventHandler @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:44
emit @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/node_modules/eventemitter3/index.js:137
trigger @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:63
setState @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-state-mixin/lib/storeMixin.js:48
_stoppedTyping @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:10
_super.bugsnag @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:279
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1252
setTimeout (async)
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1251
typeQueryString @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:10
eventHandler @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:44
emit @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/node_modules/eventemitter3/index.js:116
trigger @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:63
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:74
_super.bugsnag @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:279
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1252
setTimeout (async)
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1251
exports.nextTick @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/utils.js:60
triggerAsync @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:73
functor @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/createAction.js:56
value @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:399
n.onChangeQuery @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:399
onChange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-ace/lib/ace.js:265
EventEmitter._signal @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3865
onDocumentChange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13292
EventEmitter._signal @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3865
onChange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:9805
EventEmitter._signal @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3865
applyDelta @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:7955
insertMergedLines @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:7853
insert @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:7781
insert @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:10322
insert @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13532
$handlePaste @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13468
exec @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:12490
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:11979
EventEmitter._emit.EventEmitter._dispatchEvent @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3855
exec @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:12010
onPaste @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13459
onPaste @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:2608
_super.bugsnag @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:279
/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:212 Uncaught TypeError: Expected a function
at createWrap (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/lodash.curryright/index.js:712)
at curryRight (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/lodash.curryright/index.js:957)
at /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/lib/inValueRange.js:62
at /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:161
at baseForOwn (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:122)
at forOwn (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:447)
at inValueRange (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/lib/inValueRange.js:60)
at SVGRectElement.<anonymous> (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/many.js:222)
at /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:962
at d3_selection_each (/Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:968)
createWrap @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/lodash.curryright/index.js:712
curryRight @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/lodash.curryright/index.js:957
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/lib/inValueRange.js:62
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:161
baseForOwn @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:122
forOwn @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/node_modules/lodash.forown/index.js:447
inValueRange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/mongodb-query-util/lib/inValueRange.js:60
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/many.js:222
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:962
d3_selection_each @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:968
d3_selectionPrototype.each @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:961
selectFromQuery @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/many.js:221
d3_selectionPrototype.call @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:975
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/many.js:448
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:962
d3_selection_each @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:968
d3_selectionPrototype.each @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:961
chart @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/many.js:238
d3_selectionPrototype.call @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:975
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/number.js:126
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:962
d3_selection_each @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:968
d3_selectionPrototype.each @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:961
chart @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/d3/number.js:38
d3_selectionPrototype.call @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/d3/d3.js:975
_redraw @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/component/d3component.jsx:106
componentDidUpdate @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/component/d3component.jsx:54
bi @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:220
Wh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:212
Zh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:211
Xh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:211
Bh @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:209
pg @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:207
enqueueSetState @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-dom/cjs/react-dom.production.min.js:148
F.setState @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react/cjs/react.production.min.js:12
onQueryChanged @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/src/internal-plugins/schema/lib/component/minichart.jsx:37
eventHandler @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:44
emit @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/node_modules/eventemitter3/index.js:137
trigger @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:63
setState @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-state-mixin/lib/storeMixin.js:48
_stoppedTyping @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:10
_super.bugsnag @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:279
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1252
setTimeout (async)
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1251
typeQueryString @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:10
eventHandler @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:44
emit @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/node_modules/eventemitter3/index.js:116
trigger @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:63
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:74
_super.bugsnag @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:279
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1252
setTimeout (async)
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:1251
exports.nextTick @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/utils.js:60
triggerAsync @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/PublisherMethods.js:73
functor @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/reflux-core/lib/createAction.js:56
value @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:399
n.onChangeQuery @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/@mongodb-js/compass-query-bar/lib/index.js:399
onChange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/react-ace/lib/ace.js:265
EventEmitter._signal @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3865
onDocumentChange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13292
EventEmitter._signal @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3865
onChange @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:9805
EventEmitter._signal @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3865
applyDelta @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:7955
insertMergedLines @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:7853
insert @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:7781
insert @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:10322
insert @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13532
$handlePaste @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13468
exec @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:12490
(anonymous) @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:11979
EventEmitter._emit.EventEmitter._dispatchEvent @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:3855
exec @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:12010
onPaste @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:13459
onPaste @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/brace/index.js:2608
_super.bugsnag @ /Applications/MongoDB Compass.app/Contents/Resources/app.asar/node_modules/bugsnag-js/src/bugsnag.js:279



 Comments   
Comment by Githook User [ 14/Feb/19 ]

Author:

{'name': 'Durran Jordan', 'email': 'durran@gmail.com', 'username': 'durran'}

Message: COMPASS-3421: Fix schema tab with exists queries
Branch: master
https://github.com/10gen/compass/commit/fa273288a6b5adbd270719c558cba50e7f338eb2

Comment by Githook User [ 14/Feb/19 ]

Author:

{'name': 'Durran Jordan', 'email': 'durran@gmail.com', 'username': 'durran'}

Message: COMPASS-3421: Fix schema tab with exists queries
Branch: 1.17-releases
https://github.com/10gen/compass/commit/ffe2af32e64967ec35cc7cb4a0078824134b8698

Comment by Githook User [ 14/Feb/19 ]

Author:

{'name': 'Durran Jordan', 'email': 'durran@gmail.com', 'username': 'durran'}

Message: COMPASS-3421: Fix schema tab with exists queries
Branch: COMPASS-3421
https://github.com/10gen/compass/commit/d0f7041f0b6d49012ff645cbd4a82f8edab5d727

Generated at Wed Feb 07 22:33:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.