How to access data returned in MongoDB cursor in laravel controller?
I am using Laravel 5.6 with MongoDB using Jenssegers Package
Here I want to get total count using group by a method as we do in Mysql eg.
select latitude,longitude,count(*) as `count` from event_logger group by latitude,longitude
According to docs of the package, in MongoDB we can't use aggregate functions simple as we do in eloquent but instead we have to use raw query with MongoDB syntax.
public static function getUsersByTypeLogin()
{
$q = self::raw()->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
dd($q);
}
When I do dd(dump and die), I am getting Cursor {#586}
as result.
So basically how to get/access data in cursor into my laravel application?
php mongodb laravel jenssegers-mongodb
add a comment |
I am using Laravel 5.6 with MongoDB using Jenssegers Package
Here I want to get total count using group by a method as we do in Mysql eg.
select latitude,longitude,count(*) as `count` from event_logger group by latitude,longitude
According to docs of the package, in MongoDB we can't use aggregate functions simple as we do in eloquent but instead we have to use raw query with MongoDB syntax.
public static function getUsersByTypeLogin()
{
$q = self::raw()->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
dd($q);
}
When I do dd(dump and die), I am getting Cursor {#586}
as result.
So basically how to get/access data in cursor into my laravel application?
php mongodb laravel jenssegers-mongodb
add a comment |
I am using Laravel 5.6 with MongoDB using Jenssegers Package
Here I want to get total count using group by a method as we do in Mysql eg.
select latitude,longitude,count(*) as `count` from event_logger group by latitude,longitude
According to docs of the package, in MongoDB we can't use aggregate functions simple as we do in eloquent but instead we have to use raw query with MongoDB syntax.
public static function getUsersByTypeLogin()
{
$q = self::raw()->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
dd($q);
}
When I do dd(dump and die), I am getting Cursor {#586}
as result.
So basically how to get/access data in cursor into my laravel application?
php mongodb laravel jenssegers-mongodb
I am using Laravel 5.6 with MongoDB using Jenssegers Package
Here I want to get total count using group by a method as we do in Mysql eg.
select latitude,longitude,count(*) as `count` from event_logger group by latitude,longitude
According to docs of the package, in MongoDB we can't use aggregate functions simple as we do in eloquent but instead we have to use raw query with MongoDB syntax.
public static function getUsersByTypeLogin()
{
$q = self::raw()->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
dd($q);
}
When I do dd(dump and die), I am getting Cursor {#586}
as result.
So basically how to get/access data in cursor into my laravel application?
php mongodb laravel jenssegers-mongodb
php mongodb laravel jenssegers-mongodb
edited Oct 6 '18 at 13:45
Udhav Sarvaiya
1,74561424
1,74561424
asked Oct 6 '18 at 9:25
Dinesh SutharDinesh Suthar
659
659
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
I'm using too this package a project. I'm using raw closure method that returns aggregation data.
For Example:
$data = YourModel::raw(function($collection)
{
return $collection->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
});
$data
should be your data.
Can you try above codes?.
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
add a comment |
Use
foreach ($q as $row) {
//$row contains data for every row
}
where q is the cursor.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52677589%2fhow-to-access-data-returned-in-mongodb-cursor-in-laravel-controller%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I'm using too this package a project. I'm using raw closure method that returns aggregation data.
For Example:
$data = YourModel::raw(function($collection)
{
return $collection->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
});
$data
should be your data.
Can you try above codes?.
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
add a comment |
I'm using too this package a project. I'm using raw closure method that returns aggregation data.
For Example:
$data = YourModel::raw(function($collection)
{
return $collection->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
});
$data
should be your data.
Can you try above codes?.
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
add a comment |
I'm using too this package a project. I'm using raw closure method that returns aggregation data.
For Example:
$data = YourModel::raw(function($collection)
{
return $collection->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
});
$data
should be your data.
Can you try above codes?.
I'm using too this package a project. I'm using raw closure method that returns aggregation data.
For Example:
$data = YourModel::raw(function($collection)
{
return $collection->aggregate(
[
array(
'$group'=>array(
'_id'=>array(
'lat'=>'$latitude',
'long'=>'$longitude'
),
'count'=>array('$sum'=>1)
)
)
]
);
});
$data
should be your data.
Can you try above codes?.
answered Dec 28 '18 at 13:14
FGDeveloperFGDeveloper
604315
604315
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
add a comment |
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
Yes, Its working fine now.
– Dinesh Suthar
Dec 29 '18 at 5:15
add a comment |
Use
foreach ($q as $row) {
//$row contains data for every row
}
where q is the cursor.
add a comment |
Use
foreach ($q as $row) {
//$row contains data for every row
}
where q is the cursor.
add a comment |
Use
foreach ($q as $row) {
//$row contains data for every row
}
where q is the cursor.
Use
foreach ($q as $row) {
//$row contains data for every row
}
where q is the cursor.
edited Dec 28 '18 at 12:54
tiagoperes
2,20321734
2,20321734
answered Dec 28 '18 at 12:19
TofeeqTofeeq
1,3781314
1,3781314
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52677589%2fhow-to-access-data-returned-in-mongodb-cursor-in-laravel-controller%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown