sql >> Database >  >> NoSQL >> MongoDB

Hoe vind je een substring in een veld in Mongodb

In plaats van dit:

db.database.find({A: {$regex: '/^*(abc def)*$/''}})

Je zou dit moeten doen:

db.database.find({A: /abc def/i })

^* is eigenlijk geen geldige syntaxis aangezien ^ en $ ankers zijn en niet iets dat herhaalbaar is. Je bedoelt waarschijnlijk ^.* hier. Maar ^.* is niet nodig, want dat betekent gewoon "Alles tot aan het volgende teken" en (abc def)* betekent "0 of meer keren "abc def", maar het moet aan het einde van de tekenreeks staan, vanwege uw $. De "i" aan het einde is om het hoofdletterongevoelig te maken.



  1. Voeg alle bestaande velden toe en voeg nieuwe velden toe aan het document

  2. Dictionary<string, object>-naar-BsonDocument-conversie zonder _t-veld

  3. Introductie van opzoekgrafieken in MongoDB

  4. Een subdocument bijwerken dat is opgenomen in een array in een MongoDB-document