2012-10-11 29 views
13

मैं एक Node.js स्क्रिप्ट स्थानीय रूप से चलाने के लिए कोशिश कर रहा हूँ और यह मेरे इस त्रुटि संदेश दे रही है:Node.js सेट MongoDB सुरक्षित चर

======================================================================================== 
= Please ensure that you set the default safe variable to one of the     = 
= allowed values of [true | false | {j:true} | {w:n, wtimeout:n} | {fsync:true}]  = 
= the default value is false which means the driver receives does not    = 
= return the information of the success/error of the insert/update/remove   = 
=                      = 
= ex: new Db(new Server('localhost', 27017), {safe:false})       = 
=                      = 
= http://www.mongodb.org/display/DOCS/getLastError+Command       = 
=                      = 
= The default of false will change to true in the near future       = 
=                      = 
= This message will disappear when the default safe is set on the driver Db   = 
======================================================================================== 

यहाँ मेरी चर हैं:

var express = require('express'); 

var mongodb = require('mongodb'); 
var GridStore = require('mongodb').GridStore; 
var Db = require('mongodb').Db; 
var Server = require('mongodb').Server; 
var db = new Db(Config.dbName, new Server("127.0.0.1", 27017, {}), {});  

var HttpGet = require('./httpGet').HttpGet; 
var URL = require('url'); 

var dbClient = null; // this is initialized when db is opened 
var app = module.exports = express(); 

वही स्क्रिप्ट मेरे लाइव सर्वर पर ठीक चलती है। यह केवल शिकायत करता है जब मैं इसे स्थानीय रूप से चलाता हूं।

मुझे इस समस्या को जिथब पर चर्चा की गई लेकिन मुझे कोई समाधान नहीं मिला। https://github.com/kissjs/node-mongoskin/issues/77

कोई भी जानता है कि इस समस्या का कारण क्या हो सकता है?

अग्रिम में :)

उत्तर

22

धन्यवाद मुझे 1.1.11 मोंगो चालक प्रयोग करने के लिए निम्न कार्य:

var db = new Db(Config.dbName, new Server("127.0.0.1", 27017, {}), {safe: true}); 

{safe: true} पैरामीटर मैं एक ही चेतावनी मिलती है के रूप में आप अपने प्रश्न में दिखाते हैं बिना।

यह चेतावनी ड्राइवर के लिए हाल ही में एक अतिरिक्त जोड़ थी; आप शायद अपने सर्वर पर ड्राइवर के पुराने संस्करण का उपयोग कर रहे हैं, यही कारण है कि आपको वहां चेतावनी दिखाई नहीं दे रही है।

+0

मैंने कोशिश की है कि, जब मैं ऐसा करते हैं, मैं ": (गुरु अक्टू 11 2012 15:36:44 GMT-0400 (EDT)): {} त्रुटि चल रहा है"। यह मुझे नहीं बताता कि त्रुटि क्या है। –

+0

@ फ़ारहान अहमद क्या आप इसे डीबगर के तहत चलाते हैं यह देखने के लिए कि कौन सी रेखा उस त्रुटि को उत्पन्न कर रही है? – JohnnyHK

+0

वही बात। यह पोर्ट 5858 पर सुनना शुरू करता है और फिर दिखाता है "चल रहा है त्रुटि: (गुरु अक्टूबर 11 2012 15:57:08 जीएमटी-0400 (ईडीटी)): {}" –

9

मुझे इसे strict मोड को गलत पर सेट करके काम करने के लिए मिला।

var db = new Db(config.dbName, new Server("127.0.0.1", 27017, {}), {safe: false, strict: false}); 
+0

यह मेरे लिए विकास संस्करण 2.4.0-आरसी 0 – derickito

+0

पर काम नहीं करता है, यह कभी भी बुरा नहीं है, यह काम करता है। मैं गलत जगह पर देख रहा था ;-) – derickito

+0

मैंने अभी फरहान द्वारा दिखाए गए सटीक कोड को चिपकाया है और मुझे अभी भी संदेश मिल रहा है। मैं mongoDb node.js ड्राइवर का 1.3.23 का उपयोग कर रहा हूं। KiranYNG के कोड भी कोशिश की। चेतावनी एक शो स्टॉपर नहीं है लेकिन यह मुझे परेशान करता है कि यह कहता है कि यदि आप लिखने के लिए चिंता विकल्प सेट करते हैं तो यह दूर हो जाएगा लेकिन फिर यह दूर नहीं जाता है! –

0

यह मेरे लिए काम किया!

var db = new Db((new DbServer('127.0.0.1', 27017), {w:-2,journal:false,fsync:false,safe: false}) 
संबंधित मुद्दे