Database 我能';t使用MongoDB with Next.js向我的文档添加新字段
我想在文档中添加一个新字段(公司)。我的整个API是:Database 我能';t使用MongoDB with Next.js向我的文档添加新字段,database,mongodb,next.js,Database,Mongodb,Next.js,我想在文档中添加一个新字段(公司)。我的整个API是: import { connectToDatabase } from "../../utils/mongodb"; import { getSession } from 'next-auth/client' export default async (req, res) => { const { db } = await connectToDatabase(); const { name } = req.
import { connectToDatabase } from "../../utils/mongodb";
import { getSession } from 'next-auth/client'
export default async (req, res) => {
const { db } = await connectToDatabase();
const { name } = req.body
const session = await getSession({ req });
const a = await db
.collection("users").update({"_id": session.id},{$set: {company: { general: {name: req.body.name} }}})
};
但是文档没有更新
当前文件:
{
_id: "id"
name: "Test"
email: "test@somemmmail.com"
image: "..."
createdAt: "2020-10-29T16:25:08.908+00:00"
updatedAt: "2020-10-29T16:25:08.908+00:00"
}
但我想添加一个公司字段:
{
_id: "id"
name: "Test"
email: "test@somemmmail.com"
image: "..."
createdAt: "2020-10-29T16:25:08.908+00:00"
updatedAt: "2020-10-29T16:25:08.908+00:00"
company: [{general: "someinfo"}]
}
我正在使用Next.js&MongoDB包。问题是您需要将
session.id
字符串转换为mongoObjectId(session.id)
object:
使用以下方法查看此屏幕截图:
无结果:
db.users.find({ "_id": "5fa1e18be3a0523e5ce6c50f" })
db.users.find({ "_id": ObjectId("5fa1e18be3a0523e5ce6c50f") })
找到匹配项:
db.users.find({ "_id": "5fa1e18be3a0523e5ce6c50f" })
db.users.find({ "_id": ObjectId("5fa1e18be3a0523e5ce6c50f") })
请注意,由于您只需要查找一个要更新的文档,因此我建议您进行更新