Я использую 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?
Стоит ли импортировать другую библиотеку или класс?