似乎mongodb允许使用相同的语法删除值是单个值的文档,并且只要该值出现在集合中就可以删除它:
此
// tsconfig.json
.. other rules
"exclude": [
"**/__mocks__/"
]
// src/global.d.ts
declare namespace MySpace {
export type MyType = {
id: string;
}
}
// src/__mocks__/item.ts
// Error on 'MySpace': Cannot find namespace 'MySpace`
const item: MySpace.MyType = {
id: 'myId'
};
可以同时影响db.SomeCollection.deleteMany({UserId: 12345});
和{UserId: 12345}
。
我知道这种架构并不理想;我们使用单数{UserId: [12345, 67895, 87897]}
道具来表示单个id int和一个int数组。但是,如果您不知所措,我继承了一个数据库,该数据库利用了mongodb的动态特性。
执行UserId
查询并指定仅删除值是单个整数的文档,最安全的方法是什么?