Node.js mongodb установить безопасную переменную по умолчанию
Я пытаюсь запустить Node.js script локально, и он дает мне это сообщение об ошибке:
========================================================================================
= 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();
Те же скрипты отлично работают на моем реальном сервере. Это срабатывает, когда я запускаю его локально.
Я нашел эту же проблему обсуждаемой в github, но не нашел решения.
https://github.com/kissjs/node-mongoskin/issues/77
Кто-нибудь знает, что может вызвать эту проблему?
Заранее спасибо:)
Ответы
Ответ 1
Для меня используется драйвер 1.17 mongo:
var db = new Db(Config.dbName, new Server("127.0.0.1", 27017, {}), {safe: true});
Без параметра {safe: true}
я получаю то же предупреждение, что и в вашем вопросе.
Это предупреждение было очень недавним дополнением к драйверу; вы, вероятно, используете более старую версию драйвера на своем сервере, поэтому вы не видите там предупреждения.
Ответ 2
Я получил его для работы, установив режим strict
в значение false.
var db = new Db(config.dbName, new Server("127.0.0.1", 27017, {}), {safe: false, strict: false});
Ответ 3
Это сработало для меня!
var db = new Db((new DbServer('127.0.0.1', 27017), {w:-2,journal:false,fsync:false,safe: false})