2016-03-18 10 views
1

私はSailsJsにmongodbデータベースを持つ水線を使ったプロジェクトを持っています。 いくつかのフィールドが定義されていますが、必須フィールドではありません。 そのフィールドが定義されていないレコードを検索する必要があります。例:Sailsjsフィールドが設定されていない場所を見つけよう

{id: 10, name: "jj"} 
{id: 11, name: "kk", surname: "sr"} 

姓が定義されていない場所を検索したい。誰かがこれを行う方法の手掛かりを持っていますか?

私が試してみました

{surname: null} 
{surname: ''} 

何も望ましい結果を生成しません。

+0

のようになります。{未定義姓}トリックをする。これは大丈夫ですか? – yBrodsky

+0

find(surname: '')は、姓が空白のuを返します。 find(surname:null)とfind(surname:undefined)は、どの姓がnullであるかを示します。 まだ問題がある場合は、モデルとコントローラコードを追加してください! – vkstack

+0

姓:未定義は、「姓」フィールドが設定されていない場所にレコードを持ち込んでいます。フィールドが設定されているが空であるレコードをNullまたは "" – yBrodsky

答えて

1

に、このリンクをチェックアウトModel.find({where: {surname: null } })だと思う:偽。現在、水線ではサポートされていません。 Model.native()を使用して使用できます。思わ

Waterline native()

これは、MongoDBのコレクションを返し、あなたはそこにネイティブのMongoDBの操作を使用することができます:

MongoDB $exists

完全なコードをよりこの

Model.native(function(err, collection) {  
    if (err) throw err; 
    collection.find({ 
     surname: { $exists: false} 
    }).toArray(yourCallback); 
}); 
関連する問題