sql >> データベース >  >> NoSQL >> MongoDB

MongoDBで名前と名前の両方でユーザーを検索するにはどうすればよいですか?

    コードにいくつかの間違いがあり、望ましくない結果が生じているようです。

    1. 集約パイプラインは、集約フレームワーク操作の配列を受け入れます。あなたの場合、[]がありません オペレーター。

      のようになります

      User.aggregate([{$project...},{$match...}])

    2. $ matchステージでは、/../を使用している場合、正規表現を使用しています。 正規表現のスタイルでは、文字列の引用符で囲む必要はありません。 /bob j/iである必要があります

    完成した例は次のとおりです:

    User.aggregate([
      {$project: { "name" : { $concat : [ "$firstName", " ", "$lastName" ] } }},
      {$match: {"name": {$regex: /bob j/i}}}
    ]).exec(function(err, result){
      console.log(result);
    });
    

    [ { _id: 574c3e20be214bd4078a9149, name: 'Bob Jerry' } ]が表示されます。 画面上。



    1. 1つのWebダイノと0のワーカーダイノのみでHerokuバックグラウンドタスクを実行する

    2. mongodb ISODateをmongoDBの文字列に変換する方法は?

    3. 接続ごとに新しいRedisクライアントを作成する必要がありますか?

    4. マングースの状態に基づいてモデルの明確なフィールドを見つける方法は?