node.js - TypeScript + การลบวัตถุ mongoose ในอาร์เรย์
ฉันกำลังมีปัญหาเกี่ยวกับการลบวัตถุออกจากอาร์เรย์โดยใช้ _id ของมัน
USchema.ts
export interface IPayments {
value: string;
name: string;
}
export interface IUser {
username: string;
password: string;
payments: Array<IPayments>;
}
var User = new Schema({
username: { type: String, required: true, unique: true },
password: { type: String, required: true },
payments: [{
value: { type: String},
name: { type: String}
}]
export interface UserDocument extends IUser, mongoose.Document {
_id: string;
}
export var userSchema = User;
export let userModel: mongoose.Model<UserDocument> = mongoose.model<UserDocument>('User', userSchema);
Main.ts
//delete elem from array "payments".
let payment_id = new mongoose.Types.ObjectId(req.payment);
let user = userModel.findOne({'_id': uid}).exec();
user.then((user)=>{
user.paymens.remove(payment_id);
user.save();
});
ลบใช้ได้ดี แต่ TypeScript พูดว่า
คุณสมบัติ 'remove' ไม่มีอยู่ในประเภท IPayments
ฉันพยายามเพิ่ม "property" นี้เข้าไปในอินเทอร์เฟซ แต่ก็ยังไม่มีอะไรเกิดขึ้น