ฉันกำลังดูการใช้ฝั่งเซิร์ฟเวอร์ Javascript และดูที่ persevere/pintura แต่สำหรับมือใหม่เช่นฉัน ฉันต้องการเอกสารและบทช่วยสอนเพิ่มเติม และดูเหมือนว่า CouchDB จะมีส่วนนั้นมากมาย แต่มันถูกใช้เป็นเครื่องมือ js ฝั่งเซิร์ฟเวอร์หรือไม่
ขอแสดงความนับถือ
ฉันกำลังดูการใช้ฝั่งเซิร์ฟเวอร์ Javascript และดูที่ persevere/pintura แต่สำหรับมือใหม่เช่นฉัน ฉันต้องการเอกสารและบทช่วยสอนเพิ่มเติม และดูเหมือนว่า CouchDB จะมีส่วนนั้นมากมาย แต่มันถูกใช้เป็นเครื่องมือ js ฝั่งเซิร์ฟเวอร์หรือไม่
ขอแสดงความนับถือ
ใช่ (รองสิ่งที่ @Pointy พูดข้างต้น) JavaScript ใน CouchDB ทำงานฝั่งเซิร์ฟเวอร์ :)
นอกเหนือจากนั้น JavaScript ใน CouchDB ยังสามารถทำได้มากกว่าแค่แมป/ลดการสืบค้น นอกจากนี้ยังใช้สำหรับการตรวจสอบเอกสาร การจัดการการอัปเดต (สำหรับการประมวลผล XML POSTed ไปยัง CouchDB เป็นต้น) เช่นเดียวกับ HTML หรือเอาต์พุตมาร์กอัปอื่นๆ จากเอกสาร JSON เดียว (โดยใช้ _show) หรือจากผลลัพธ์ของแผนที่/ลดการสืบค้น (โดยใช้ _รายการ).
อย่างไรก็ตาม CouchDB ไม่ได้เสนอการเข้าถึงระบบไฟล์หรือตัวฟัง TCP/IP เหมือนกับที่ Node.js ทำ ขณะนี้ JavaScript มุ่งเน้นไปที่ "การจัดส่งและการจัดการ" สำหรับเนื้อหาฐานข้อมูล (สิ่งต่างๆ เช่น การตรวจสอบความถูกต้อง การจัดรูปแบบ และการสืบค้น)
หากคุณสนใจที่จะมองหาตัวเลือกในการจัดการสิ่งต่าง ๆ ที่ CouchDB ไม่ได้ทำ "ภายใน" (การประมวลผลภาพ การส่งอีเมล ฯลฯ) คุณสามารถดูคำตอบของฉันเกี่ยวกับ ตัวเลือกสถาปัตยกรรม CouchApp
CouchApp เป็นตัวเลือกที่เหมาะสมสำหรับเว็บแอปอย่างแน่นอน เมื่อรวมกับการจำลองแบบแล้ว ก็ยากที่จะเอาชนะได้
http://nodejs.org/ เป็นตัวอย่างที่ดีสำหรับจาวาสคริปต์ฝั่งเซิร์ฟเวอร์ หากคุณไม่ต้องการเขียนเว็บแอปที่สมบูรณ์บน NodeJS คุณสามารถทริกเกอร์มันได้โดยใช้คำสั่ง node
CouchDB เป็นฐานข้อมูลที่มีคุณสมบัติที่น่าสนใจ ซึ่งช่วยให้คุณสามารถโต้ตอบผ่าน RestFull api ทำให้เหมาะอย่างยิ่งสำหรับการเข้าถึงผ่านทางเว็บ ทั้งใน Javascript หรือสภาพแวดล้อมไคลเอนต์อื่น ๆ หากคุณกำลังมองหาสภาพแวดล้อมการพัฒนาจาวาสคริปต์ฝั่งเซิร์ฟเวอร์ ลองใช้ Servoy ช่วยให้สามารถพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนในจาวาสคริปต์ รวมถึงการเข้าถึงฐานข้อมูลได้อย่างง่ายดายไปยังฐานข้อมูลหลักทั้งหมด
คำตอบสั้น ๆ : ใช่
คำตอบอีกต่อไป:
มี Javascript Engine ที่มาพร้อมกับ CouchDB ซึ่งก็คือ SpiderMonkey (ตัวแรกสุด เอ็นจิ้นโอเพ่นซอร์สเขียนโดย Brendan Eich ผู้สร้างจาวาสคริปต์)
ฟังก์ชัน View ของ CouchDB คือฟังก์ชัน JavaScript ที่ทำงานฝั่งเซิร์ฟเวอร์ซึ่งทำหน้าที่เป็นแผนที่ครึ่งหนึ่งของการดำเนินการลดขนาดแผนที่เพื่อสร้างมุมมอง
จากนั้นก็มี javascript API ฝั่งไคลเอ็นต์ ซึ่งสามารถใช้เพื่อสื่อสารกับเลเยอร์ REST เพื่อดึงข้อมูล/อัปเดตเอกสาร ซึ่งเป็นที่ที่ CouchDB ใช้ jQuery เช่นกัน
เอ็นจิ้นเริ่มต้นสามารถทำคุณสมบัติได้มากมาย ในขณะที่ความพร้อมใช้งานของแพ็คเกจนั้นมีจำกัดเมื่อเทียบกับ Node.js Kan.so ถือเป็น NPM สำหรับ CouchDB โดยที่บางแพ็คเกจอยู่ฝั่งเซิร์ฟเวอร์ ตัวอย่างเช่น มีเฟรมเวิร์กเช่น ความเป็นคู่ ที่พยายามใช้ประโยชน์จากทั้งฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ ความสามารถจาวาสคริปต์ในการใช้โค้ดซ้ำสำหรับการเรนเดอร์ด้วย couchDB
(การเลือก Spider Monkey บน v8 นั้นเป็นเพราะในกรณีการใช้งานของ couchDB การลดขนาดแผนที่ไม่ได้ออกแบบมาสำหรับ v8 นอกจากนี้ยังรวมถึงบรรจุภัณฑ์ มัลติเธรด และเหตุผลทางประวัติศาสตร์ v8 ไม่มีอยู่ในเวลานั้นเมื่อเลือก SpiderMoney) ดู [รายชื่อผู้รับจดหมาย ] และ ทวีต2
มีแม้กระทั่งโปรเจ็กต์ที่จะย้าย CouchDB ทั้งหมดไปยัง Node.js (เช่น แทนที่จะเป็น Erlang), เชสเตอร์ฟิลด์
ฉันดีใจถ้ามีคนเพิ่มว่า Erlang พูดคุยกับเอ็นจิ้นจาฟสคริปต์ได้อย่างไร ขอบคุณสำหรับคำตอบของทุกคน นี่เป็นสิ่งสำคัญที่ต้องทำให้ชัดเจนสำหรับคนอย่างฉันที่ทำให้ couchDB ยุ่งวุ่นวายกับแพ็คเกจ Node.js บางอย่าง
ไม่ CouchDB
เป็นฐานข้อมูลเชิงเอกสารที่สามารถสืบค้นและจัดทำดัชนีในรูปแบบ MapReduce โดยใช้ JavaScript CouchDB ยังมีการจำลองแบบส่วนเพิ่มด้วยการตรวจจับข้อขัดแย้งและการแก้ไขแบบสองทิศทาง
CommonJS
สามารถใช้กับ JavaScript ฝั่งเซิร์ฟเวอร์ได้ ดูที่นี่: http://www.commonjs.org/
NodeJS
เป็นอย่างอื่น: http://nodejs.org/