2016-12-23 6 views
0

У меня есть четыре разных документа, которые имеют тот же CId, который является другим идентификатором, который представляет все документы, являются подмножеством этого документа ObjectId.Найти вложенный документ, переданный другим объектом ObjectId

Мастер

{ "_id" : ObjectId("582c5211c8a8e06c0849a238"), "name" : "MyName", "code" : "1234", "__v" : 0 } 

Поднаборы

{ "_id" : ObjectId("584e72fc28a15d7c1ae0b3de"), "CId" : ObjectId("582c5211c8a8e06c0849a238"), "no_m" : 3, "create_date" : ISODate("2016-12-12T09:50:52.948Z"), "update_date" : ISODate("2016-12-19T14:22:28Z"), "__v" : 0} 

{ "_id" : ObjectId("584e72fc28a15d7c1ae0b3df"), "CId" : ObjectId("582c5211c8a8e06c0849a238"), "no_m" : 3, "create_date" : ISODate("2016-12-12T09:50:52.948Z"), "update_date" : ISODate("2016-12-19T14:22:28Z"), "__v" : 0} 

{ "_id" : ObjectId("584e72fc28a15d7c1ae0b3dg"), "CId" : ObjectId("582c5211c8a8e06c0849a238"), "no_m" : 3, "create_date" : ISODate("2016-12-12T09:50:52.948Z"), "update_date" : ISODate("2016-12-19T14:22:28Z"), "__v" : 0} 

{ "_id" : ObjectId("584e72fc28a15d7c1ae0b3dh"), "CId" : ObjectId("582c5211c8a8e06c0849a238"), "no_m" : 3, "create_date" : ISODate("2016-12-12T09:50:52.948Z"), "update_date" : ISODate("2016-12-19T14:22:28Z"), "__v" : 0} 

Я хочу, чтобы найти все, используя monoose и необходимые документы в Node.js

Мой код

var c = 582c5211c8a8e06c0849a238 
SubsetSchema.find({'CId' : cid},function(err,Docs){ 
    if (err) 
    { 
     console.log(err); 
     return res.status(400).send({"err":err}); 
    } 
    }); 
    console.log(Docs); 

Но это дает мне ошибка

Как я могу включить ObjectId в мангустов находке()

с MongoDB db.Docs.find ({ "ИДС": ObjectId ("582c5211c8a8e06c0849a238")}) не работает должным образом

ответ

2

Нет необходимости, чтобы бросить или использовать ObjectId конструктор здесь, просто передать его в виде строки, но и ошибка, которую вы получили, возможно, из-за какой-то ошибки синтаксиса, вам нужно настроить свой код, чтобы быть следующим:

var cid = '582c5211c8a8e06c0849a238'; 
SubsetSchema.find({'CId' : cid},function(err, Docs) { 
    if (err) 
    { 
    console.log(err); 
    return res.status(400).send({"err":err}); 
    } 
    console.log(Docs); 
}); 

Первая: Определите переменную правильно, чтобы она соответствовала тому, где она используется c, до cid.

Второй: Назначает его в виде строки по завернуть его с одиночными/двойными кавычками.

Третий: Получить console.log заявление внутри функции обратного вызова, где Docs определена.

+0

Перемещение консольного журнала помогло ... Спасибо –