0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

mongooseを使ってMongoDBのドキュメントを検索するときに、取得するフィールドを指定したい

Posted at

はじめに

今までMySQLは使ったことがあったのですが、初めてMondoDBを使って、フィールド(RDBでいうカラム)を指定する方法がわからなかったので、まとめます。

やりたいこと

以下のようなドキュメント(RDBでいうテーブル)があったとします。

id name age birthday address
1 Jack 30 19900812 A City
2 Amy 31 19890812 B Town
3 David 32 19880812 C Street

このドキュメントから、idnameだけ取得したいです。

RBDなら、以下のSELECT文で取得できるでしょう。

SELECT (id, name) from USERS;

やり方

mongooseだと、以下の様に取得するフィールドを指定できます。

UsersModel.find({},{ id: 1, name: 1 });

find()の第2引数のオブジェクトの中に、フィールド名: 1と書くと取得対象になり、
フィールド名: 0と書くと、取得対象になります。(デフォルトは1みたいです)。

私がやったときは、上記のように書くと_idが必ずついて来てしまった(MongoDBの仕様?)ので、以下のように書いていました。

UsersModel.find({},{ _id: 0, id: 1, name: 1 });
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?