【发布时间】:2020-06-30 05:23:30
【问题描述】:
我有一个查询集合,它的结构是这样的
{
"_id": "5e71fa3ab004192b349e4a06",
"QUERIES": [
{
"_id": "5e71fa3ab004192b349e4a07",
"QUERY": "1",
"USER_ID": "5e6f1c5b8451307f782d0994",
"USER_NAME": "a1",
"createdAt": "2020-03-18T10:38:50.247Z"
},
{
"_id": "5e71fa46b004192b349e4a08",
"QUERY": "2",
"USER_ID": "5e6f1c5b8451307f782d0994",
"USER_NAME": "a2",
"createdAt": "2020-03-18T10:39:02.451Z"
}
],
"TICKET_ID": "5e70f4fa47df9479502f7937",
"USER_ID": "5e6f1c5b8451307f782d0994",
"RESOLVED_DATE": "2020-03-07T00:00:00.000Z"
}
我想从 QUERIES 数组中删除第一个元素。 预期输出
{
"_id": "5e71fa3ab004192b349e4a06",
"QUERIES": [
{
"_id": "5e71fa46b004192b349e4a08",
"QUERY": "2",
"USER_ID": "5e6f1c5b8451307f782d0994",
"USER_NAME": "a2",
"createdAt": "2020-03-18T10:39:02.451Z"
}
],
"TICKET_ID": "5e70f4fa47df9479502f7937",
"USER_ID": "5e6f1c5b8451307f782d0994",
"RESOLVED_DATE": "2020-03-07T00:00:00.000Z"
}
我尝试了以下更新方法,但在 mongoDB Shell 上执行更新方法时出错
db.getCollection("query_masters").update( {'QUERIES._id':ObjectId('5e726996b96d107eac5c88a4')},{$pull: { 'QUERIES._id': ObjectId('5e726996b96d107eac5c88a4') }}
)
错误信息
WriteResult({
"nMatched" : 0,
"nUpserted" : 0,
"nModified" : 0,
"writeError" : {
"code" : 28,
"errmsg" : "Cannot use the part (_id) of (QUERIES._id) to traverse the element"
})
-提前致谢
【问题讨论】:
-
您想删除数组
QUERIES中的first 元素还是删除_id = 5e726996b96d107eac5c88a4的元素(根本不存在)?
标签: node.js mongodb mongoose mean-stack