gpt4 book ai didi

mongodb - 如何在 mongodb 中使用聚合来 $match _id

转载 作者:IT老高 更新时间:2023-10-28 13:11:19 27 4
gpt4 key购买 nike

文档:

{
"_id" : ObjectId("560c24b853b558856ef193a3"),
"name" : "Karl Morrison",
"pic" : "",
"language" : ObjectId("560c24b853b558856ef193a2"),
"cell" : 1,
"local" : {
"email" : "karl.morrison@instanty.se",
"password" : "12345"
},
"sessions" : [
{
"id" : ObjectId("560c24b853b558856ef193a5")
}
]
}

这行得通:

yield new Promise(function (resolve, reject) {
users.col.aggregate([
{
$match: {
'name': 'Karl Morrison'
}
}
],
function (err, res) {
console.log('err ' + err);
console.log('res ' + JSON.stringify(res)); // <-- echos the object retrieved
if (err === null)
resolve(res);
reject(err);
});
});

这不起作用:

yield new Promise(function (resolve, reject) {
users.col.aggregate([
{
$match: {
'_id': '560c24b853b558856ef193a3' // <-- _id of the user
}
}
],
function (err, res) {
console.log('err ' + err);
console.log('res ' + JSON.stringify(res));
if (err === null)
resolve(res);
reject(err);
});
});

.col 访问 native mongodb 对象(否则使用 co-monk)。所以我是手动做的。然而,这不起作用。我怀疑我没有将 id 十六进制字符串转换为 ObjectId。无论我尝试什么都没有效果。

最佳答案

const ObjectId = mongoose.Types.ObjectId;
const User = mongoose.model('User')

User.aggregate([
{
$match: { _id: ObjectId('560c24b853b558856ef193a3') }
}
])

关于mongodb - 如何在 mongodb 中使用聚合来 $match _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32877064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com