[英]Mongoose find not working on default attribute
这可能真的很简单,但是我看不到我所缺少的。
这是我的模型:
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var JobSchema = new Schema({
type: String,
scheduled: { type:Boolean, default:false },
state: { type: String, default: 'initial' },
details: {},
changes: [],
lastModified: { type: Date, default: Date.now },
});
//RECCOMMENDED TO TURN OFF IN PRODUCTION?
JobSchema.index({type:1, state:1, "details.prodId":1});
module.exports = mongoose.model('Job', JobSchema);
但是,每当我运行以下代码时,都不会返回任何内容:
Job.find({state:'initial'},function(err,data){
console.log(data.length);
});
我已经在其他属性上测试了相同的代码,可以正常工作。
这也是一些示例数据库数据:
[
{
"_id":"55709ed07df3b4b1f034311a",
"details": {
"quantity":"10",
"price":"45.28",
"prodId":"321product",
"storeId":"338store"
},
"lastModified":"2015-06-06T18:00:28.348Z",
"changes":[],
"state":"initial",
"scheduled":true
},...
UPDATE
好的,我将state
一些值从“ initial”更改为“ pending”,而mongo找到了“ pending”,但是,它无法识别“ initial”,并返回了0个结果。
可能是您查询了不应该使用的数据库。
我已经在计算机上运行了相同的代码,并且实际上它找到了具有初始状态的工作,我使用在计算机中运行的代码在名为app.js的文件中创建了要点: https ://gist.github.com / wilsonbalderrama / 653c34acf19871115f64
您需要启动并运行mongodb服务器,然后安装以下依赖项:
$ npm install mongoose async
然后运行文件:
$ node app.js
让我知道该代码是否对您有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.