enter image description here我正在尝试获取我的用户的活动,我试图在我的userinfo表中获得所有用户和跟随所有用户。
我正在使用下面的命令行查询来获取正常工作的情况,并且我得到总计数。
db.userinfo.aggregate([
{ "$group": {
"_id": null,
"followersCount": {
"$sum": {
"$size": { $ifNull: [ "$followers", [] ] }
}
},
"followingCount": {
"$sum": {
"$size": { $ifNull: [ "$i_am_following", [] ] }
}
}
}}
])
但是我无法使用java编程复制它。我们可以使用BasicDBObjects在java中编写此查询,还是有其他方法可以执行此操作吗?
以下是单个用户的示例数据。
db.userinfo.insert (
{
"username" : "user1",
"useremail" : "user1@gmail.com",
"password" : "password",
"firstname" : "firstname",
"lastname" : "lastname",
"dob" : "24-05-1992",
"followers" : [
{
"user" : "user2",
"from_date" : "2016-12-15 09:59:04"
},
{
"user" : "user3",
"from_date" : "2016-12-15 08:59:04"
}
],
"i_am_following" : [
{
"user" : "user2",
"from_date" : "2016-12-15 08:59:04"
},
{
"user" : "user3",
"from_date" : "2016-12-15 09:59:04"
}
]
})
答案 0 :(得分:0)
你可以尝试这样的事情。
.nav-stacked