我的nodejs链接方式 var mongoclient = new MongoClient(new Server("192.168.1.227", 27017));
但是这是没有认证的访问 我设置了认证访问 所以用要用户名和密码 我php端是这样链接的 $m = new Mongo(‘mongodb://lwj:asdasd@192.168.1.227:27017’);//链接成功 而nodejs mongodb API 我招了N久没有找到方法 求助
官方API Constructor Class representing a single MongoDB Server connection
class Server()
Arguments:
//三个参数 host 我设置mongodb://lwj:asdasd@192.168.1227 却不行
host (string) – the server host
port (number) – the server port [options] (object) – optional options for insert command
求助
http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html 这里有比较详细的说明吧 其中
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:27017/integration_test", function(err, db) {
test.equal(null, err);
test.ok(db != null);
db.collection("replicaset_mongo_client_collection").update({a:1}, {b:1}, {upsert:true}, function(err, result) {
test.equal(null, err);
test.equal(1, result);
db.close();
test.done();
});
});
这里就是可以直接用
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
方式连接了吧?
谢谢你 之前用过这个方法 但是当时不成功,现在回想起来 发现自己真的很2啊。我当时给admin 添加了认证 但是对其他的数据库没有添加 所有我访问其他数据库的时候 认证就不对 而访问admin就行了。但是这里我有一个疑问 既然给admin 添加认证 为什么其他数据库 就不是同一认证???
你的这个方法我还没试~~但是应该可以啊 我看了N久的文档 找了一方法 http://mongodb.github.io/node-mongodb-native/api-generated/db.html#authenticate