0

この構造を持つドキュメントを含む mongo (2.4.x) コレクション:

db.col.insert({ "_id" : { "owner" : "john" }, "value" : 10 });
db.col.insert({ "_id" : { "owner" : "mary" }, "value" : 20 });

私はマングース (3.5.4) を使用しており、集約パイプラインを実行しようとしていますが成功しません。これは、mongo コマンド ライン クライアントから正常に動作します。

> db.col.aggregate({ $match : { "_id.owner": "john" } });

{ "result" : [ { "_id" : { "owner" : "john" }, "value" : 10 } ], "ok" : 1 }

しかし、mongoose を使用すると期待どおりに動作しません

Col.aggregate(
  { $match : { "_id.owner": "john" } },
  function(err, result) {
    console.log("ERR : " + err + " RES : " + JSON.stringify(result));
  }
);

ERR : null RES : []

これは私が使用しているマングーススキーマです:

var Col = new Schema({
  _id: {
    owner: String
  },
  value: Number
});

Col.find({ "_id.owner": "john" })期待通りのシンプルな作品と言わざるを得ません。

どうすればそれを機能させることができますか?ドキュメントの構造を変更できません。

4

1 に答える 1