标记集合NodeJS中的Marklogic QueryByExample

TLDR

有没有办法将queryByExample范围限制在NodeJS中的集合?

面临的问题

我有一个复杂的查询与一些可选的字段(即有时一些search字段将被省略)。 所以我需要dynamic地创build一个查询,例如在JSON中。 QueryByExample似乎是在这里使用的正确的工具,因为它给了我灵活的传递JSON。 然而,我的问题是,我想限制我的search只有一个集合或目录。

例如,我希望有类似的东西

searchJSON = { title: { $word: "test" }, description: { $word: "desc" } }; //query db.documents.query(qb.where( qb.collection("collectionName"), qb.byExample(searchJSON) )).result()... 

在这种情况下, searchJSON可能是dynamic构build的,例如,有时标题可能会从search中省略。

这不起作用,因为查询生成器只允许queryByExample成为唯一的查询。 但我宁愿build立一个仅限于一个集合或目录的dynamicsearch查询。

目前,我认为你将不得不使用QueryBuilder而不是使用Query来表示查询

 qb.and([ qb.collection('collectionName'), qb.word('title', 'test'), qb.word('description', 'desc') ]) 

请参阅http://docs.marklogic.com/jsdoc/queryBuilder.html#word

也就是说,Node.js API应该可以放松基于MarkLogic 9.0-2中修复的限制

请在https://github.com/marklogic/node-client-api上提出问题