2017-12-27 13 views
0

私はMongoDBでnode.jsを学んでいます。私はmongodb.org/downloadsから完全なパックをインストールしました。Cantはコレクションを作成しますか?

私はこのようなNode.jsのファイルを見て作られた:それはデータベースが作成されたことを私に示しているが、私はMongoのコンパスを開いて、リフレッシュしたときに、私はすべてのデータベースが呼び出され表示されていないコンソールで

var MongoClient = require('mongodb').MongoClient; 
var url = "mongo://localhost:27017/myDatabase"; 

MongoClient.connect(url, function(err, db) { 
    if (err) throw err; 
    console.log("Database created!"); 
    db.close(); 
}); 

myDatabase

だから私はしようとした次のことは、コレクションを作成します

var MongoClient = require('mongodb').MongoClient; 
var url = "mongo://localhost:27017/myDatabase"; 

MongoClient.connect(url, function(err, db) { 
    if(err) throw err; 
    db.createCollection("customers", function(err, res) { 
     if(err) throw err; 
     console.log("Collection created!"); 
     db.close(); 
    }); 
}); 

、私はこれらのエラーを取得:私はMYDATABASEが表示されないのはなぜ

Error: Invalid schema, expected `mongodb` or `mongodb+srv` 
    at module.exports (D:\Node.js Projects\Node.js MongoDB\node_modules\mongodb\lib\url_parser.js:15:21) 
    at connect (D:\Node.js Projects\Node.js MongoDB\node_modules\mongodb\lib\mongo_client.js:867:3) 
    at connectOp (D:\Node.js Projects\Node.js MongoDB\node_modules\mongodb\lib\mongo_client.js:253:3) 
    at executeOperation (D:\Node.js Projects\Node.js MongoDB\node_modules\mongodb\lib\utils.js:408:22) 
    at MongoClient.connect (D:\Node.js Projects\Node.js MongoDB\node_modules\mongodb\lib\mongo_client.js:244:10) 
    at Function.MongoClient.connect (D:\Node.js Projects\Node.js MongoDB\node_modules\mongodb\lib\mongo_client.js:472:22) 
    at Object.<anonymous> (D:\Node.js Projects\Node.js MongoDB\CreateCollection\createcollection.js:4:13) 
    at Module._compile (module.js:635:30) 
    at Object.Module._extensions..js (module.js:646:10) 
    at Module.load (module.js:554:32) 

誰も私を助けてくださいMongoDB Compass UIで、前のコードでデータベースが作成されたと表示されたときにコレクションを作成できない理由は何ですか?

答えて

0

接続URLで始まる必要があります「のMongoDB://」


あなたが

var MongoClient = require("mongodb").MongoClient; 
var url = "mongodb://localhost:27017"; 
var dbName = "myDatabase"; 

MongoClient.connect(url, function(err, client) { 
    if (err) throw err; 

    var db = client.db(dbName); 
    var collection = db.collection("customers"); 

    // you are using the collection but it won't be created until you insert a 
    // document or create an index 

    collection.find({}).toArray((err, docs) => { 
    if (err) throw err; 

    console.log(docs); 

    client.close(); 
    }); 
}); 
をフォローしているユーザーのチュートリアルと一致していないのMongoDBライブラリの新しいバージョンを使用しているようです

それはあなたのライブラリーのバージョンと一致してofficial documentationに行く方が良いでしょう

+0

私はエラーを取得しますまだuは言ったにそれを変更しましたが、:例外TypeError :db.createCollectionは関数ではありません – Mudasar

+0

URLのデータベース名は、2番目のスニペット「myDatabase」と「mydb」で異なります – lleon

+0

まだ同じエラー – Mudasar

0

することはできクレアためマングースティンデータベースだけでなく、コレクションやドキュメント

ここでは例: -

var mongoose = request("mongoose"); 

mongoose.connect('mongodb://localhost:27017/exampleDB', function(err) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log("database connected"); 
    } 
}); 

このURLから助けを得る https://www.npmjs.com/package/mongoose http://mongoosejs.com/docs/guide.html

関連する問題