【发布时间】:2018-08-02 16:08:49
【问题描述】:
我正在尝试在 MongoDB 4.0 上使用 ColdFusion 11 和 Java MongoDB 驱动程序 3.8 在 Mongo 中执行通配符搜索。
下面的代码给了我错误,提示找不到方法countDocuments() 或找不到方法find()。
<cfset Mongo = CreateObject("java","com.mongodb.MongoClient").init("localhost")>
<cffunction name="m" returntype="any">
<cfargument name="value" type="any">
<cfif IsJSON(arguments.value)>
<cfset local.retrun = CreateObject("java","com.mongodb.util.JSON").parse(arguments.value)>
<cfelse>
<cfset local.retrun = CreateObject("java","com.mongodb.util.JSON").parse( SerializeJSON(arguments.value) )>
</cfif>
<cfreturn local.retrun>
</cffunction>
<cfset db = Mongo.getDatabase('fda')>
<cfset DrugInfo = db.getCollection("druginfo")>
<cfset searchCount=druginfo.countDocuments(m({'openfda.brand_name':/Ty/ }))>
<cfset results = DrugInfo.find(m({'openfda.brand_name': /Ty/})).iterator()>
尝试进行完全匹配搜索时,一切正常。
<cfset searchCount=druginfo.countDocuments(m({'openfda.brand_name':'Tylenol'}))>
<cfset results = DrugInfo.find(m({'openfda.brand_name': 'Tylenol'})).iterator()>
我基本上是在 Mongo Compass 中测试我的所有查询并将它们粘贴到我的代码中,但它没有按预期工作。
【问题讨论】:
标签: mongodb coldfusion mongodb-java