sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb-gräns i det inbäddade dokumentet

MongoDB-dokumenten förklara hur man väljer ett underområde av ett arrayelement.

db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: 5}}) // first 5 comments
db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: -5}}) // last 5 comments
db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: [20, 10]}}) // skip 20, limit 10
db.dialogs.find({"_id": [dialogId]}, {msgs:{$slice: [-20, 10]}}) // 20 from end, limit 10

Du kan använda den här tekniken för att bara välja de meddelanden som är relevanta för ditt användargränssnitt. Jag är dock inte säker på att detta är en bra schemadesign. Du kanske vill överväga att skilja ut "synliga" meddelanden från "arkiverade" meddelanden. Det kan göra sökningen lite lättare/snabbare.



  1. Hur man uppdaterar objekt i array i Mongo

  2. Ska "StackExchange.Redis.ConnectionMultiplexer" vara "AddSingleton" eller "AddScope" i .NET Core-beroendeinjektion?

  3. Hur man kör js-fil i mongo med vårdata

  4. Är db.stats() ett blockerande anrop för MongoDB?