LoginSignup
0
0

More than 5 years have passed since last update.

MongoDBのカラム指定ハヘンコウサレテルヨ

Last updated at Posted at 2018-08-06

掲示板を作る時、
必要なカラムはnameとbodyだけだったので、そのように指定していたのだけれど、
いつの間にかカラム指定が全く動作しなくなっていたので修正した時の変更箇所

nameとbodyを取りたい場合

これまでとこれから

.find( {visible: "on"}, { name:-1, body:-1})
.find( {visible: "on"}, { projection:{name:-1, body:-1} })

わかりやすいコードもかける

以下すべて同じ結果です。

.find( {visible: "on"}, { projection:{response:"出す", name:"出す"} })
.find( {visible: "on"}, { projection:{response:"出す", name:"出さない"} })
.find( {visible: "on"}, { projection:{response:true, name:true} })
.find( {visible: "on"}, { projection:{response:false, name:false} })

判定は !!valueだと思えばわかりやすそう

けれど、これはダメ

出したい奴と出したくない奴を同時に記述すると動きませんでした。

.find( {visible: "on"}, { projection:{response:false, name:true} })

Projection cannot have a mix of inclusion and exclusion.と云われ、
ドキュメントにもダメと書かれていました。

The fields to return in the query. Object of fields to include or exclude (not both), {'a':1}

出したい奴だけか、出したくない奴だけというのがちょっと辛いかな

これらは、ここに書いています
https://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html

イツカラ?トカソンナノハシリマセン シッテルヒトオシエテホシイ

多分なんだけど、第2引数に指定できていたObjectを受け付けなくなって、
projectionでやれ!ってなったんじゃないかなぁ

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