MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Tidak bisa mendapatkan paket Accounts-Base untuk menunjuk ke database yang benar

Melihat langsung di kode untuk paket basis akun (Meteor v 1.0.4), sepertinya mereka tidak secara resmi mendukung cara mengatur database untuk koleksi pengguna. Seperti yang Anda lihat dari kode, server selalu terhubung menggunakan Meteor.connection default:

Meteor.users = new Mongo.Collection("users", { // line 141
  _preventAutopublish: true,
  connection: Meteor.isClient ? Accounts.connection : Meteor.connection
});

Accounts.connection diatur di atas, tetapi secara eksplisit tidak didukung:

// ~ line 118
if (Meteor.isClient
....
if (typeof __meteor_runtime_config__ !== "undefined" &&
  __meteor_runtime_config__.ACCOUNTS_CONNECTION_URL) { 
    // Temporary, internal hook to allow the server to point the client
    // to a different authentication server. This is for a very
    // particular use case that comes up when implementing a oauth
    // server. Unsupported and may go away at any point in time.
    //
    // We will eventually provide a general way to use account-base
    // against any DDP connection, not just one special one.
    Accounts.connection = DDP.connect(
      __meteor_runtime_config__.ACCOUNTS_CONNECTION_URL)
  }
}

Namun, saya dapat membuatnya menggunakan database saya dengan menyetel variabel lingkungan $MONGO_URL (yang saya yakini menyetel koneksi default, yang digunakan oleh paket akun):

Di satu jendela terminal, saya memulai mongo di port 27017

> mongod

Di jendela lain, saya mengatur MONGO_URL dan menambahkan paket yang sesuai, lalu memulai meteor:

> export MONGO_URL=mongodb://localhost:27017/test
> meteor add accounts-base
> meteor add accounts-password
> meteor

Dan akhirnya di konsol browser saya, saya membuat akun:

> Accounts.createUser({username: 'me', password: 'guest'});

Kemudian saya terhubung ke test database dalam contoh mongo saya:

> mongo
  MongoDB shell version: 3.0.1
  connecting to: test
> db.users.find()
  { "_id" : "L3EDrS8FnRymDLhPp", ... "username" : "me" }

Singkatnya, saya pikir Anda memiliki tiga opsi yang tidak terlalu bagus:

  • Gunakan MONGO_URL variabel lingkungan (mungkin opsi terbaik)
  • Retas paket basis akun untuk melakukan apa yang Anda inginkan
  • Cobalah ACCOUNTS_CONNECTION_URL yang tidak didukung variabel, yang mungkin 'hilang kapan saja'



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menulis kueri pembaruan di mongodb untuk array yang sangat bersarang?

  2. Mongoose:Bagaimana cara mengisi populasi 2 level tanpa mengisi bidang level pertama? di mongodb

  3. Salin Database di Mongoose

  4. Pernyataan break ilegal (Node.js)

  5. Luwak Mencoba membuka koneksi yang tidak tertutup