gpt4 book ai didi

javascript - 是否可以在 mongoDB 2.6 上的聚合内使用来自不同集合的数据

转载 作者:行者123 更新时间:2023-12-03 05:25:26 24 4
gpt4 key购买 nike

我正在尝试使用另一个集合中的数据从一个集合中获取信息,因为我需要来自两个集合的合并信息。

可以这样做吗?

var Mclient = require('mongodb').MongoClient
var ObjectId = require('mongodb').ObjectID
//Connection URL
var url = 'url de conexao'
Mclient.connect(url, function (err, db){
console.log('Connect correctly to server')
var notes = db.collection('notes')
var cid = ObjectId("1")
notes.aggregate([
{ $match: {companyId:cid} },
{ $sort: {createdAt: -1}},
{ $unwind: "$users"},
{ $unwind: "$users.tags"},
{ $group: {
_id: '$_id' ,
Type: {$addToSet: '$type'},
ComanyId: {$addToSet: '$companyId'},
ProjectId: {$addToSet: '$projectId'},
Priority: {$addToSet: '$Priority'},
UsersData: {$push: {userId:"$users.userId", userTag: "$users.tags"}},
CreateDate: {$addToSet: '$createdAt'},
CompletedDate: {$addToSet: '$completedAt'},
DeletedDate: {$addToSet: '$deletedAt'},
total: {$sum: 1}
}
}]).each(function(err, doc, db){
if (doc){

var notes = db.collection('notes')
// Find para buscar outros dados usando dados do aggregate realizado acima
var dataNotes = notes.findOne({ _id: doc.ProjectId[0]})

}else{
return null
}
if (err) throw err
})
db.close()
})

最佳答案

不幸的是,你不能。仅在版本 3.2 中添加了从不同集合 ( $lookup ) 获取数据的功能。

可以在两个单独的查询中完成此操作:首先获取注释,然后在单独的查询中获取用户数据,并将它们在您的应用程序中连接在一起。

或者您可以升级到较新版本的 MongoDB...

关于javascript - 是否可以在 mongoDB 2.6 上的聚合内使用来自不同集合的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41163476/

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