api를 작성하던 중 자꾸 ObjectId를 메서드로 사용하려면 error가 떠서 개빡쳐서 공식문서를 찾아봐도 안 나왔다.
또한 stackoverflow에 좋아요하 5백개 넘게 달린 답변도 아래 문제와 같이 사용했다.
그런데 해법은 쉽다. 사실 굉장히 간단한 문제인데 간과하기 쉬워서 적어본다.
import {MongoClient, ObjectId} from "mongodb";
async function handler(req, res){
if(req.method === "POST"){
const data = req.body;
const client = await MongoClient.connect("mongoDB URL")
const db = client.db();
const postItCollection = db.collection("postIts");
const result = await postItCollection.updateOne({_id: ObjectId(data.id)}, {$set:{positionX:data.y, positionY:data.x}});
console.log(result);
client.close();
res.status(201).json({message:"success"})
}
}
export default handler;
new
를 안 적어줘서 그랬다.;;const result = await postItCollection.updateOne({_id: new ObjectId(data.id)}, {$set:{positionX:data.y, positionY:data.x}});