猫鼬将属性数组的大小与其他属性进行比较

是否可以找到一个属性(数组)大小大于/小于其他属性(数字)的所有文档? 我们假定内部模式numberProperty的类型为Number,并且数组中包含ObjectIds。

我的意思是:

BulkOperations bulkOp = mongotemplate.bulkOps(BulkMode.UNORDERED,Message.class);
        bulkOp.insert(messages.parallelStream()
            .map(Message::flatToTmpMessage) // map a DtoMessage into Message
            .collect(Collectors.toList()));
        long nmessage = bulkOp.execute().getInsertedCount(); 

Triend也类似这样,但也不起作用:

List<Document> documents = messages.parallelStream()
            .map(Message::flatToDocument) // I create a Bson from DtoMessage foreach document
            .collect(Collectors.toList());
    String collectionName = mongotemplate.getcollectionName(Message.class);
    mongotemplate.getcollection(collectionName).insertMany(documents);
songkings 回答:猫鼬将属性数组的大小与其他属性进行比较

您可以使用汇总

stat_identity(),stat_count(),stat_bin()

如果这不起作用,请先尝试将数组大小投影到新字段中,然后进行比较

Collection.aggregate([
    { $match: { $gt: [ {$size: "$array"},"$numberProperty" ] } }
]);

希望这会有所帮助!

本文链接:https://www.f2er.com/3101045.html

大家都在问