Tôi đang sử dụng MongoDB 3.2.3 và thư viện mongo-java-driver-3.2.2.jar.Cách sử dụng MongoDB với ColdFusion
Tôi đã làm như sau để kết nối với máy chủ và sau đó đến cơ sở dữ liệu cụ thể. sau đó tôi tạo ra một bộ sưu tập mang tên col1
:
<cfset Mongo = CreateObject("java","com.mongodb.MongoClient")>
<cfset Mongo.init("192.168.0.30")>
<cfset db = Mongo.getDatabase('testaj')>
<cfset db.createCollection("col1") >
Tôi có đoạn mã sau từ internet để chèn một tài liệu vào bộ sưu tập:
<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)>
Đáng tiếc là dòng cuối cùng tạo ra các lỗi sau:
No matching Method/Function for com.mongodb.MongoCollectionImpl.save(com.mongodb.BasicDBObject) found
Dường như hoàn toàn hợp lý vì khi tôi xuất (thông qua số cfdump
) nội dung của lớp com.mongodb.MongoCollectionImpl
, tôi không thấy phương thức save
.
Có ai biết cách chèn tài liệu MongoDB trong ColdFusion bằng trình điều khiển Java này không?
Tôi có nên nhập một thư viện hoặc lớp học khác không?
Tác vụ 'db.col1.save (doc)' có hoạt động không? Hoặc 'db.testaj.save (doc)'? –
Tôi không thể thấy nơi bạn đang tạo biến 'col1' trong mã của bạn. Không nên là: 'col1 = db.getCollection (" col1 "); col1.insert (doc) '? –
hi John .. ở đây là: –
user3569267