Ich habe zwei Strings wieSuche nach einer größeren Zeichenfolge unter zwei Strings
- 59fc5478fb7dbd08703f2539
- 59fc54d3fb7dbd08703f253a
Was ich tue, ist eine einzigartige Chat-ID zwischen zwei Benutzern die Erstellung von Verkettung ihrer Benutzer-IDs
Aber das Problem ist id gebildet werden kann a + b oder b + a Ich versuche, eine Methode zu finden, so dass es die Zeichenfolge darstellt ein ist größer oder b so das Ergebnis ist immer eindeutige ID.
, was ich versucht: -
- localeCompare()
lexikalischer Reihenfolge
let a="59fc5478fb7dbd08703f2539"; let b="59fc54d3fb7dbd08703f253a"; if(a>b){ let chatId=a+b; }else{ let chatId=b+a; }
chatId gebildet ist 59fc5478fb7dbd08703f253959fc54d3fb7dbd08703f253a
Wenn Werte a und b
let a="59fc54d3fb7dbd08703f253a";
let b="59fc5478fb7dbd08703f2539";
if(a>b){
let chatId=a+b;
}else{
let chatId=b+a;
}
chatId gebildet ist 59fc54d3fb7dbd08703f253a59fc5478fb7dbd08703f2539
Actual-Code verwendet
let newChat = new Chat();
newChat.from = user._id;
newChat.towards = req.body.towards;
if (req.body.towards > user._id) {
newChat.chatId = req.body.towards + user._id;
} else {
newChat.chatId = user._id + req.body.towards;
}
newChat.message = req.body.message;
newChat.save((err) => {
Ergebnis gespeichert sind
vertauschtdb.chats.find()
{ "_id" : ObjectId("5a034eeb16e42914fc3f9ff8"), "message" : "hi", "chatId" : "59fc54d3fb7dbd08703f253a59fc5478fb7dbd08703f2539", "towards" : ObjectId("59fc5478fb7dbd08703f2539"), "from" : ObjectId("59fc54d3fb7dbd08703f253a"), "time" : ISODate("2017-11-08T18:37:31.308Z"), "__v" : 0 }
{ "_id" : ObjectId("5a034f3a16e42914fc3f9ff9"), "message" : "hello!", "chatId" : "59fc5478fb7dbd08703f253959fc54d3fb7dbd08703f253a", "towards" : ObjectId("59fc54d3fb7dbd08703f253a"), "from" : ObjectId("59fc5478fb7dbd08703f2539"), "time" : ISODate("2017-11-08T18:38:50.247Z"), "__v" : 0 }
nach lexikalischer Reihenfolge sollte das Ergebnis eindeutig sein, aber sind immer zwei unterschiedliche Ergebnisse
Jede Hilfe großen Dank
Woher kam 59fc5456fb7dbd08703f2538? – TurtlesAllTheWayDown
@TurtlesAllTheWayDown es ist ein '_id' von Mungo – phpdroid
Aber es ist weder a oder b.Sie verketten nur Strings, richtig? – TurtlesAllTheWayDown