MongoDB 3.2.3 ve mongo-java-driver-3.2.2.jar kütüphanesini kullanıyorum.ColdFusion ile MongoDB nasıl kullanılır?
Sunucuya ve ardından belirli bir veritabanına bağlanmak için aşağıdakileri yaptım. Sonra col1
adında bir koleksiyon oluşturmak:
<cfset Mongo = CreateObject("java","com.mongodb.MongoClient")>
<cfset Mongo.init("192.168.0.30")>
<cfset db = Mongo.getDatabase('testaj')>
<cfset db.createCollection("col1") >
aldığım koleksiyonuna bir belge eklemek için internetten Aşağıdaki kod:
<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)>
Maalesef son satırı aşağıdaki hata üretir:
No matching Method/Function for com.mongodb.MongoCollectionImpl.save(com.mongodb.BasicDBObject) found
çünkü tamamen mantıklı görünmektedir (a cfdump
ile) bir çıkış sınıfıiçeriği, save
yöntemini göremiyorum.
Bu Java sürücüsünü kullanarak ColdFusion'da MongoDB belgesinin nasıl ekleneceğini bilen var mı?
Başka bir kitaplık veya sınıf içe aktarmalı mıyım?
'db.col1.save (doc)' çalışıyor mu? Veya 'db.testaj.save (doc)'? –
Kodunuzda 'col1' değişkenini nerede oluşturduğunuzu göremiyorum. Olmaması gereken: 'col1 = db.getCollection (" col1 "); col1.insert (doc) '? –
Merhaba John .. işte burada: –
user3569267