Ich habe ein Schema namens ReferralHistory. Es enthält eine Gruppe von Benutzern und ein Array von Benutzern, auf die verwiesen wird.Löschen Sie ein Array-Element aus einem Dokument mit Mongoose
ReferralHistory
var mongoose = require('mongoose');
var refferalHistorySchema = new mongoose.Schema({
user: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
unique: true
},
referrals: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}],
});
var ReferralHistoryModel = mongoose.model('ReferralHistory', refferalHistorySchema);
module.exports = {
referralHistory: ReferralHistoryModel
}
Ich brauche einen bestimmten Benutzer aus Empfehlungen Array in der Sammlung ReferralHistory [Hier Ich weiß id bezeichnet Benutzer nur] löschen .Wie kann ich das erreichen?
bearbeiten
Ich versuchte
db.referralhistories.update({ "u_referrals": "593281ef966d7f0eeb94db3d" }, { "$pull": { "u_referrals": "593281ef966d7f0eeb94db3d" } });
Das Dokument wird nicht aktualisiert.
Vielen Dank für Ihre Antwort.Ich habe Ihre Lösung versucht.Aber nicht das Ergebnis.Aktualisiert die Frage – Muhsin
@Muhsin, weil Sie das in der Shell/robomongo/was auch immer eingeben. Die Werte sind 'ObjectId' und keine Zeichenketten. In der Shell müssen Sie 'ObjectId (" 593281ef966d7f0eeb94db3d ")' verwenden, um zu passen. Mungo aber wird den Typ für dich werfen. –
Es hat jetzt funktioniert. Vielen Dank für Ihre Hilfe. Das ist sehr hilfreich für mich. – Muhsin