0
我想查詢與貓鼬的集合,有一個簡單的db.course.find()
查詢MongoDB的查詢工作,但沒有與貓鼬
{
"_id" : ObjectId("581c9408fc01b15cb21043e4"),
"calendar_id" : DBRef("calendar", ObjectId("581c5972fd1c59295c34f1b8"), "ecampus"),
"date" : 1478473200000,
"title" : "Conception et planification BI",
"teacher" : "fiolet gilles",
"start_at" : "08:30",
"end_at" : "12:30"
}
我有一個運行良好
一個MongoDB的查詢的輸出收集樣本db.course.find({'calendar_id.$id': ObjectId("581c5972fd1c59295c34f1b8")}).sort({date: 1})
我想在我的NodeJS應用程序中使用Mongoose做同樣的查詢 我做了這個查詢,但是這個返回一個空數組,因爲ObjectId
工作不正常。
let mongoose = require('mongoose');
let ObjectId = mongoose.Types.ObjectId;
let id = new ObjectId(session.calendar_id);
Course.find({'calendar_id.$id': id}).sort({date: 1}).exec(function (err, courses) {
console.log(err, courses);
createJsonBody(courses);
});
Course
是從我的模型文件,是這樣的
const Course = mongoose.model('course', {
calendar_id: Schema.ObjectId,
date: Number,
title: String,
teacher: String,
start_at: String,
end_at: String
});
我怎樣才能讓這貓鼬查詢工作?該模型可能沒有正確組合?
感謝這是一個完美的答案! –
另外,你不需要首先將id轉換爲ObjectId,Mongoose可以隱式地在幕後執行此操作。 – chridam