簡體   English   中英

MongoDb $ setIntersection與Java驅動程序

[英]MongoDb $setIntersection with Java Driver

我想使用來自mongodb的java驅動程序構建以下mongodb-json-query:

db.item.aggregate([
{'$project': { attr: { 
              $setIntersection:["$structureAttributeValueIdList", [ObjectId("54bfba08ef6643acaa5be2c9")]]
    }, _id : 0, document: "$$ROOT"            
}},
{ "$unwind": "$attr" },
{ "$match": { "document.stateDeleted" : 0 } }]);

到目前為止,我對此:

 DBObject intersection =
   new BasicDBObject( "$setIntersection", ???? );

  DBObject fields = new BasicDBObject( "attributes", intersection );
  fields.put( " document", "$$ROOT" );
  fields.put( "_id", 0 );
  DBObject project = new BasicDBObject( "$project", fields );

  DBObject unwind = new BasicDBObject( "$unwind", "attributes" );

  DBObject match =
      new BasicDBObject( "$match", new BasicDBObject( "document.stateDeleted", 0 ) );

  List< DBObject > pipeline = Arrays.asList( project, unwind, match );

  AggregationOutput output = operations.getCollection( "item" ).aggregate( pipeline );

但是我不知道如何建立setIntersection-Part! 有什么幫助嗎?

謝謝...

自己找到的...知道如何就很容易

BasicDBList intersectionList = new BasicDBList();
intersectionList.add( "$structureAttributeValueIdList" );
intersectionList.add( objectIdDBList );
DBObject intersection = new BasicDBObject( "$setIntersection", intersectionList );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM