HOWTO · MongoDB

MongoDB にドキュメントが存在するかどうかを確認する

このチュートリアルでは、ドキュメントが MongoDB に存在するかどうかを確認する方法について説明します。

このページの内容

場合によっては、ドキュメントが既に存在するかどうかを確認する必要があります。

この記事では、ドキュメントがコレクションに既に存在するかどうかを確認する方法について説明します。 また、トピックを理解しやすくするために必要な例と説明も表示されます。

MongoDB コンソールを使用してコレクションにドキュメントが存在するかどうかを確認する

MongoDB には、特定のドキュメントを検索するための find() という名前の組み込みメソッドがあります。 検索されたドキュメントが既に存在する場合は結果が表示されますが、存在しない場合は出力が表示されません。

この記事では、ドキュメントの存在を確認する 2つの異なる方法について説明します。

以下の例では、MongoDB コンソールを使用してドキュメントが存在するかどうかを確認します。 コンソール コマンドは次のとおりです。

db.mycolletion.find({ Name: "Alen" })

コマンドの動作メカニズムについてはすでに説明しました。 上記のコマンドをコンソールで実行すると、以下の出力が得られます。

{
  _id: ObjectId("6371fd850f19826ee6ca5138"),
  sl: 0,
  Name: 'Alen',
  id: '3'
}

次の例では、JavaScript プログラムからコレクションにドキュメントが既に存在するかどうかを確認する方法を示します。 JavaScript コードは次のようになります。

// Connection properties
var MyClient = require('mongodb').MongoClient;
var URL = 'mongodb://localhost:27017/';

// Creating a connection with MongoDB
MyClient.connect(URL, function(err, db) {
  if (err) console.log(err);
  var dbs = db.db('Mydb');     // Selecting the database.
  var Query = {Name: 'Alen'};  // find the document based on the data
  dbs.collection('mycolletion').find(Query).toArray(function(err, res) {
    // Checking the existence of a document.
    if (err)
      console.log(err);
    else
      console.log(res);
    db.close();  // Closing the connection
  });
});

上記のコードでは、各行の目的をすでに指示しています。 上記のコードを実行すると、以下の結果の出力が得られます。

[
  {
    _id: new ObjectId("6371fd850f19826ee6ca5138"),
    sl: 0,
    Name: 'Alen',
    id: '3'
  }
]

Node.js を介してコードを実行したことに注意してください。 JavaScript コードを実行するには、Node.js と MongoDB パッケージをインストールする必要があります。

Node.js をインストールしたら、npm install mongodb コマンドを使用して、MongoDB をディレクトリにインストールできます。

この記事に示されているコマンドは MongoDB データベース用であり、コマンドは MongoDB コンソールで実行する必要があることに注意してください。