Как использовать MongoDB с ColdFusion

Я использую MongoDB 3.2.3 и библиотеку mongo-java-driver-3.2.2.jar.

Я сделал следующее, чтобы подключиться к серверу, а затем к определенной базе данных. Затем я создаю коллекцию с именем col1:

<cfset Mongo  = CreateObject("java","com.mongodb.MongoClient")>
<cfset Mongo.init("192.168.0.30")>
<cfset db = Mongo.getDatabase('testaj')>
<cfset db.createCollection("col1") >

Я получил следующий код из Интернета, чтобы вставить документ в коллекцию:

<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 doc = {
    "Name"  = "Marc",
    "Spouse"= "Heather",
    "Fruit" = "Mango",
    "Kids"  = [
                {"Name"="Alexis", "Age"=7, "Hair"="blonde", "Description"="crazy" },
                {"Name"="Sidney", "Age"=2, "Hair"="dirty blonde", "Description"="ornery" }
            ],
    "Bike" = "Felt",
    "LoveSQL" = true,
    "TS" = now(),
    "Counter" = 1
    }>
<cfset doc = SerializeJSON(doc)>
<cfset doc = m(doc)>

<cfset col1.save(doc)>

К сожалению, последняя строка генерирует следующую ошибку:

No matching Method/Function for com.mongodb.MongoCollectionImpl.save(com.mongodb.BasicDBObject) found

Кажется, что это совершенно логично, потому что, когда я выводю (через cfdump) содержимое класса com.mongodb.MongoCollectionImpl, я не вижу метод save . [+1112]

Кто-нибудь знает, как вставить документ MongoDB в ColdFusion с помощью этого драйвера Java?
Стоит ли импортировать другую библиотеку или класс?

10
задан Miguel-F 30 March 2016 в 12:39
поделиться