mongodb删除空数组的数组项-can';t将$exists与ObjectId一起使用

mongodb删除空数组的数组项-can';t将$exists与ObjectId一起使用,mongodb,mongoose,mongodb-query,mongoose-schema,Mongodb,Mongoose,Mongodb Query,Mongoose Schema,我正在尝试使以下查询正常工作,我在本文中找到: 然而,我得到了错误 错误:无法将$exists与ObjectId一起使用 我不确定这是否是版本问题,我使用的是Mongo DB版本3.2.6 谢谢 var ProductRateSchema = new Schema({ product: { type: Schema.ObjectId, ref: 'products' }, user: {

我正在尝试使以下查询正常工作,我在本文中找到:

然而,我得到了错误

错误:无法将$exists与ObjectId一起使用

我不确定这是否是版本问题,我使用的是Mongo DB版本3.2.6

谢谢

 var ProductRateSchema = new Schema({
        product: {
            type: Schema.ObjectId,
            ref: 'products'
        },
        user: {
            type: Schema.ObjectId,
            ref: 'User'
        },
        rates: [{
            type: Schema.ObjectId,
            ref: 'rates'
        }]
    });

    var InventorySchema = new Schema({
        name: {
            type: String,
            default: '',
            required: 'Please enter in a name',
            trim: true
        },
        created: {
            type: Date,
            default: Date.now
        },
        user: {
            type: Schema.ObjectId,
            ref: 'User'
        },
        products: [productRateSchema]

    });


    var inventoryId = req.body.inventoryId;
    var productId = req.body.productId;


    Inventory.update(
        { "products.rates.0": { "$exists": false } },
        { 
            "$pull": {
                "products": { "rates.0": { "$exists": false } }
            }
        },
        { "multi": true },
        function(err,numAffected) {

        }
    )