in src/mongo/services/completionItemProvider.ts [167:188]
private getCollectionName(ctx: ParseTree): string {
let parent = ctx.parent!;
if (!(parent && parent instanceof mongoParser.ArgumentContext)) {
return null!;
}
parent = parent.parent!;
if (!(parent && parent instanceof mongoParser.ArgumentsContext)) {
return null!;
}
parent = parent.parent!;
if (!(parent && parent instanceof mongoParser.FunctionCallContext)) {
return null!;
}
let previousNode = this.getPreviousNode(parent);
if (previousNode && previousNode instanceof TerminalNode && previousNode.symbol.type === mongoLexer.DOT) {
previousNode = this.getPreviousNode(previousNode);
if (previousNode && previousNode instanceof mongoParser.CollectionContext) {
return previousNode.text;
}
}
return null!;
}