5

Meteor で _id でオブジェクトを検索しようとしています。

これが私が試したことです:

Meteor.publish("gifts", function(gid) {
  console.log("Looking for "+ gid);
  var gifts = Gifts.find({_id: gid}).fetch();
  console.log("Result: " + gifts);
  return gifts;
});

これは出力です:

f1790caa-7a10-4af5-a01c-e80bb2c2fd55 を探します 結果:

クエリを取り出すと:

Meteor.publish("gifts", function(gid) {
  console.log("Looking for "+ gid);
  var gifts = Gifts.find().fetch()[1];
  console.log("Result:" + gifts._id);
  return gifts;
});

オブジェクトは配列内にあり、_id は上記と同じです。

f1790caa-7a10-4af5-a01c-e80bb2c2fd55 を探します 結果: f1790caa-7a10-4af5-a01c-e80bb2c2fd55

また、mongo コンソールで検索を実行すると、次のオブジェクトが見つかります。

> db.gifts.find({_id: 'f1790caa-7a10-4af5-a01c-e80bb2c2fd55'});
{ "name" : "A new gift", "_id" : "f1790caa-7a10-4af5-a01c-e80bb2c2fd55" }

私は何を間違っていますか?

4

1 に答える 1

5

どこからドキュメントを挿入しましたか? MongoDB では文字列と objectId の扱いが異なります。また、現在 Meteor に objectId を正しく処理しないバグがあるようです。

https://github.com/meteor/meteor/issues/61

于 2012-09-13T20:21:30.827 に答える