你好,我想有一个初学者的问题...... 我环顾四周但找不到答案
在重新定义用户模型之前,我有以下要清理的users
集合 - 如何删除所有没有字段名字或以下集合中的姓氏的文档?
{ "_id" : ObjectId("57615777a629d16a4c604cce"), "firstName" : "Hector", "lastName" : "yoyo", "email" : "mail@test.tld", "createDate" : ISODate("2016-06-15T13:26:15.900Z") }
{ "_id" : ObjectId("57615849a629d16a4c604ccf"), "firstName" : "Arnaud", "lastName" : "yaya", "email" : "mail@dsdsasadsadsad.tld", "createDate" : ISODate("2016-06-15T13:29:45.517Z") }
{ "_id" : ObjectId("57615c33a629d16a4c604cd0"), "createDate" : ISODate("2016-06-15T13:46:27.224Z") }
{ "_id" : ObjectId("57615ff943d8b1a74c4d4216"), "createDate" : ISODate("2016-06-15T14:02:33.352Z") }
我知道我可以逐个删除这些,但我想有更好的解决方案:)
db.users.remove( { "_id" : ObjectId("57615ff943d8b1a74c4d4216") } );
谢谢
答案 0 :(得分:7)
在删除查询中将 $exists
运算符与 $or
运算符结合使用:
db.users.remove({
"$or": [
{ "firstName": { "$exists": false } },
{ "lastName": { "$exists": false } }
]
})
答案 1 :(得分:1)
试试这个:
db.users.remove({$或:[{firstName:{$ exists:false}},{lastName:{$ exists:false}}]});
答案 2 :(得分:0)
或者,您可以在两个后续调用中使用$exists运算符:
db.users.remove({"firstName": { "$exists": false } })
db.users.remove({"lastName": { "$exists": false } })