我试图在我的nodeJs应用程序中运行此查询
Book.find({'user._id': '545e2915cd91299447fdb8d7'}).populate('user').exec(function(err, books){...}
并且它不起作用(它返回空列表),但是我尝试使用mongo在cmd中运行此查询,并且它正在起作用。谁能帮帮我吗?
这是本书的计划:
var mongoose = require('mongoose'),
Schema = mongoose.Schema,
path = require('path');
/**
* Book Schema
*/
var BookSchema = new Schema({
title: {
type: String,
trim: true,
required: 'Title is missing'
},
created: {
type: Date,
default: Date.now
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
mongoose.model('Book', BookSchema);
最后,我弄清楚问题出在哪里。问题是我在mongo shell中手动创建了书籍,由于某种未知的原因,它无法正常工作,但是当我在应用程序中持久保留书籍时,具有用户ID的查询正在运行。我不明白为什么(因为在mongo shell中输入并保留在应用程序中应该没有任何区别),但是它可以工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句