使用$ in和mongodb的困难

时间:2014-07-31 09:07:34

标签: node.js mongodb mongoose

我想让mongodb中的所有字段都存在。我使用的是mongoose而且我使用了$in但是当检查mongoose日志查询时它发送了错误的参数

projectkeywordModel.find( { keywordId: { $in: id } } );

但是查询传递的是monggose,如下所示: -

适用于单一ID

projectkeywords.find({ 
  keywordId: { '$in': [ '53bcc3cb7d538efefbe55f98' ] } 
})

但是当数组中有多个id时,它就不能正常工作

 projectkeywords.find({ 
      keywordId: { '$in': [ '53bcc3cb7d538efefbe55f98', '53bcc3bd7d538efefbe55f96' ] } 
    })

这是我的架构

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var ObjectId=mongoose.Schema.ObjectId;


var ProjectKeyword = new Schema({
  projectId: String,
  keywordId: String,
  developerId: String,


}, {
  versionKey: false,

  toJSON: {
    virtuals: true,
    transform: function(doc, ret, options) {
      ret.id = ret._id.toHexString();
      delete ret._id;
    }
  },

  toObject: {
    virtuals: true
  }
});

module.exports=mongoose.model('ProjectKeyword', ProjectKeyword);

0 个答案:

没有答案