0

我试图在我的 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);
4

1 回答 1

0

最后我发现问题出在哪里。问题是我在 mongo shell 中手动创建了书籍,并且由于某种未知原因它无法正常工作,但是当我将书籍持久保存在应用程序中时,带有用户 ID 的查询正在工作。我不明白为什么(因为在 mongo shell 中输入并坚持在应用程序中时应该没有任何区别)但它可以工作。

于 2014-11-20T17:01:06.960 回答