La mangouste/Mongo trouver dans la gamme de objectIds

J'ai ce point de mongo:

[ { title: 'Product Name',
_id: 5052843e023273693300013c,
description: 'This is a fake description',
categories: [ 5052843e023273693300010a ],
} ]

Je veux trouver de tels produits qui ont cette catégorie. J'ai essayé:

Product.find({ categories:  mongoose.Types.ObjectId('5052843e023273693300010a')})
Product.find({ categories:  mongoose.mongo.BSONPure.ObjectID.fromString('5052843e023273693300010a')})
Product.find({ categories:  '5052843e023273693300010a'})
Product.find({ 'categories':  '5052843e023273693300010a'})
Product.find({ categories:  {$in: ['5052843e023273693300010a']}})
Product.find({ categories:  Schema.Types.ObjectId('5052843e023273693300010a')})

Mais rien ne fonctionne. Je peux chercher par l'id de l'amende juste à l'aide de: _id: '5052843e023273693300013c'.

Noter que lorsque les produits ont été insérées à l'ID de la catégorie ont été ajoutés comme une chaîne (sens je viens attribué l'ID au lieu de la catégorie des objets, mais cela n'explique pas pourquoi aucun de ces travaux: c'est non cotées dans le cliché peut-être, Mongo reconnaît comme un ID de l'objet.

Des questions similaires sur n'a DONC pas d'obtenir une réponse.

Je suis en utilisant la dernière de la Mangouste (3) et les récentes Mongo,Nœud.

Mise à jour:

Je peux simplement aller chercher bien à partir de la CLI à l'aide de:

db.products.find({ categories: '5052843e02327369330000fe' }); 

et il est intéressant de noter que je peux le récupérer en faisant le pas de l'égalité dans mon code - hein?:

Product.find({ categories: { $ne: '5052843e02327369330000fe' }})

Mon schéma est comme suit:

    var Product = new Schema({
title: { type: String, required: true },
slug: { type: String },
summary: { type: String }, //browser title
description: { type: String, required: false },
excerpt: { type: String },    //for list and also for meta description
publish: { type: Boolean },
featured: { type: Boolean },
unavailable: { type: Boolean },
model: { type: String },
google: { type: String },
tags: { type: Array },
categories:  [{ type: Schema.Types.ObjectId, ref: 'Category' }],
manufacturer: { type: String },
variations: { type: Array },
prices: { type: Array },
images: { type: Array },
specs: { type: Array },
modified: { type: Date, default: Date.now }
});
var Category = new Schema({
title: { type: String, required: true },
description: { type: String },
parent: { type: Schema.Types.ObjectId, ref: 'Category' },
images: { type: Array }
});

Grâce

Quelle est la définition de schéma pour le Product modèle?
Mise à jour de la question avec le schéma

OriginalL'auteur cyberwombat | 2012-09-16