MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да комбинирате не оператори с помощта на конструктора на критерии за пролетни данни

Опитах вашия mongo shell и кода MongoDB Spring Java. Shell кодът работи добре, но съответният Java код използва not() не работи (не знам защо).

Ето друг начин за работа със същата функционалност, която търсите:

Използвам следните входни документи:

{ _id: 1, createdOn: ISODate("2020-03-21T12:05:00") },
{ _id: 2, createdOn: ISODate("2020-03-28T18:33:00") },
{ _id: 3, createdOn: ISODate("2020-03-24T01:56:00") }

И ако приемем днешната дата :ISODate("2020-03-24T02:50:04.992Z") , резултатът трябва да изключи документа с _id: 3 , където createdOn е в рамките на днес .

mongo shell заявка:

db.collection.find( {
  $or: [
    { createdOn: { $gt: ISODate("2020-03-24T23:59:59.99") } },
    { createdOn: { $lt: ISODate("2020-03-24T00:00:00") } }
  ]
} )

Това връща документите с _id на 1 и 2 (те изключват днешната дата).

Съответният Java код:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd H:m:s");
Date fromDate = dateFormat.parse("2020-03-24 00:00:00");
Date toDate = dateFormat.parse("2020-03-24 23:59:59");

Criteria c = new Criteria().orOperator(
                           Criteria.where("createdOn").lt(fromDate),
                           Criteria.where("createdOn").gt(toDate) );        
Query q = Query.query(c);

MongoOperations mongoOps = new MongoTemplate(MongoClients.create(), "testDB");
List<Document> result = mongoOps.find(q, Document.class, "collection");
result.forEach(doc -> System.out.println(doc.toJson()));



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Могат ли потребителите да бъдат мигрирани от моята база данни mongodb към aws cognito потребителски набор?

  2. Използване на MongoDB срещу MySQL с много JSON полета?

  3. ReferenceError:TextEncoder не е дефиниран с mongodb възли

  4. Индексът на полето ts в oplog.rs не се актуализира

  5. Филтрирайте вложен масив с условия, базирани на стойности на обекти на много нива и ги актуализирайте - MongoDB агрегат + актуализация