我目前在我的heroku環境中有node.js,express和mongodb。讀取來自Node.js的用戶輸入並將其保存在MongoDB中
我想知道的是如何獲得用戶的輸入(例如:他們正在註冊一個帳戶,並且正在輸入他們的用戶名和密碼)並將其保存在mongodb中,然後稍後獲取該信息(例如:他們正在登錄)。
我是否從.js腳本連接到mongodb,或者它是如何工作的?
我目前在我的heroku環境中有node.js,express和mongodb。讀取來自Node.js的用戶輸入並將其保存在MongoDB中
我想知道的是如何獲得用戶的輸入(例如:他們正在註冊一個帳戶,並且正在輸入他們的用戶名和密碼)並將其保存在mongodb中,然後稍後獲取該信息(例如:他們正在登錄)。
我是否從.js腳本連接到mongodb,或者它是如何工作的?
您是否試圖利用Node.js作爲後端服務器來處理數據? node.js會渲染HTML頁面嗎?
假設您只是想使用Node.js插入或查找數據,請查看Express。
或者,您可以使用url
庫來處理傳入請求,然後使用庫提供的方法(如node-mongodb-native)將它們傳遞給Mongo。
node-mongodb-native驅動程序爲您提供了MongoDB的所有核心功能,但根據應用程序的複雜程度,使用也可用於數據建模的框架或mongodb庫可能更有意義。
看看這個Node modules list看看所有的選項。
至於架構,一個例子是POST用戶憑證Node.js分析他們並連接到MongoDB拉用戶的帳戶信息。 MongoDB返回Node.js找到的數據,並且Node服務器以JSON格式輸出用戶帳戶信息。我不知道如果這是你問的是什麼,但它是一個簡單的方法,這將是很容易建立,一旦你熟悉了回調和所有其他的美味意大利麪的流動;)
這裏有一個小的CoffeeScript從我使用的Node.js應用程序代碼段連接到蒙戈並啓動Node.js的服務器:
db = new mongo.Db('tracker', new mongo.Server('127.0.0.1', 27017, {auto_reconnect: true}))
# Open the connections:
db.open (db_error, database) ->
console.error "Unable to open connection to database 'tracker': #{db_error}" if db_error
# Launch server on port 8080:
http.createServer(onRequest).listen 8080, '127.0.0.1'
# Close the connection if the server is stopped:
db.close()
您可以檢查出Mongoose或mongoskin。他們會通過減少回調的數量和解開代碼來讓你的生活更輕鬆。
一個簡單的例子與mongoskin:
var mongo = require('mongoskin');
var db = mongo.db('localhost:27017/test?auto_reconnect');
app.get('/signup', function() {
// use the db here
});
我得到儘可能多,但我沒有得到的是如何nodejs或貓鼬或任何我使用得到的文本輸入,並將其保存到一個唯一的ID在mongodb – Ator
您是否使用HTML表單?你可能想使用'post'而不是'get'。然後,您可以使用'bodyParser'快遞中間件從表單中獲取數據。請參閱[快速指南中的此部分](http://expressjs.com/guide.html#http-methods)。 –
好了,頁面由快遞像註冊頁面跑是app.get( '/註冊',函數());我需要創建一個新的腳本來完成mongodb連接,並且需要Express獲取數據並將其發送給mongodb? – Ator
你可以,但你不**有**。你可以像上面那樣把所有'app.get(...)'邏輯放在'db.open'中。我處理請求的代碼位於由'http.createServer()'調用的'onRequest'函數內,該函數位於應用程序的單獨部分中。查看[The Node Beginner Book](http://www.nodebeginner.org/),瞭解Node.js的原理。一旦你瞭解了回調的本質,一切都開始有意義。 – Marco