当我列出数据库中的所有用户时,有两种响应。
{
_id: "5bcf4f4d48a3067897c22344",
__v: 0
},
{
_id: "5bcf507b65f77778ab23b53f",
firstname: "major",
lastname: "general",
__v: 0
}
如您所见,存在一个没有名字和姓氏道具的条目。此时,我正在尝试清理数据库并删除所有没有firstname或lastname属性的数据库。这就是我所拥有的。
async deleteUsersWithoutNames() {
const usersWithNoName = await this.userModel.find()
.where((response: any) => response.hasOwnProperty('firstname')).equals(false);
return usersWithNoName;
}
这不起作用,并表示path must be a string or object
的尖叫声。
这是userModel初始化。
private userModel = new UserEntity().getModelForClass(UserEntity);
UserEntity类将Typegoose
扩展了Typegoose。
我该如何继续?
答案 0 :(得分:1)
现在,我认为这是解决您的查询的更好方法
https://docs.mongodb.com/manual/reference/operator/query/exists/
async deleteUsersWithoutNames() {
return await this.userModel.where({firstname: {$exists:false}})
}