GetRandomEntitiesMatchingWithHint
Gets a list of up to randomCount randomly selected entities from the server based on the where condition and specified maximum return count, using index hint provided.
Service | Operation |
---|---|
globalEntity | GET_RANDOM_ENTITIES_MATCHING_WITH_HINT |
Method Parameters
Parameter | Description |
---|---|
where | A mongo style query string. |
maxReturn | The maximum number of entities to return. |
hintJson | The field index keys to be hinted, as JSON object. |
Usage
http://localhost:3000
- C#
- C++
- Objective-C
- Java
- JavaScript
- Dart
- Cloud Code
- Raw
string where = "{\"data.team\": \"Red\", \"data.position\": \"Forward\"}";
int maxReturn = 10;
string hintJson = "{\"data.team\": 1, \"data.position\": 1}";
SuccessCallback successCallback = (response, cbObject) =>
{
Debug.Log(string.Format("Success | {0}", response));
};
FailureCallback failureCallback = (status, code, error, cbObject) =>
{
Debug.Log(string.Format("Failed | {0} {1} {2}", status, code, error));
};
_bc.GlobalentityService.GetRandomEntitiesMatchingWithHint(where, maxReturn, hintJson, successCallback, failureCallback);
const char *where = "{\"data.team\": \"Red\", \"data.position\": \"Forward\"}";
int maxReturn = 10;
const char *hintJson = "{\"data.team\": 1, \"data.position\": 1}";
_bc.getGlobalentityService().getRandomEntitiesMatchingWithHint(where, maxReturn, hintJson, this);
NSString *where = @"{\"data.team\": \"Red\", \"data.position\": \"Forward\"}";
int maxReturn = 10;
NSString *hintJson = @"{\"data.team\": 1, \"data.position\": 1}";
BCCompletionBlock successBlock; // define callback
BCErrorCompletionBlock failureBlock; // define callback
[[_bc globalEntityService] GetRandomEntitiesMatchingWithHint:
where:where
maxReturn:maxReturn
hintJson:hintJson
completionBlock:successBlock
errorCompletionBlock:failureBlock
cbObject:nil]
String where = "{\"data.team\": \"Red\", \"data.position\": \"Forward\"}";
int maxReturn = 10;
String hintJson = "{\"data.team\": 1, \"data.position\": 1}";
this; // implements IServerCallback
_bc.getGlobalentityService.GetRandomEntitiesMatchingWithHint(where, maxReturn, hintJson, this);
public void serverCallback(ServiceName serviceName, ServiceOperation serviceOperation, JSONObject jsonData)
{
System.out.print(String.format("Success | %s", jsonData.toString()));
}
public void serverError(ServiceName serviceName, ServiceOperation serviceOperation, int statusCode, int reasonCode, String jsonError)
{
System.out.print(String.format("Failed | %d %d %s", statusCode, reasonCode, jsonError.toString()));
}
var where = {
"data.team": "Red",
"data.position": "Forward"
};
var maxReturn = 10;
var hintJson = {
"data.team": 1,
"data.position": 1
};
_bc.globalEntity.GetRandomEntitiesMatchingWithHint(where, maxReturn, hintJson, result =>
{
var status = result.status;
console.log(status + " : " + JSON.stringify(result, null, 2));
});
var where = {
"data.team": "Red",
"data.position": "Forward"
};
var maxReturn = 10;
var hintJson = {
"data.team": 1,
"data.position": 1
};
ServerResponse result = await _bc.globalEntityService.GetRandomEntitiesMatchingWithHint(where:where, maxReturn:maxReturn, hintJson:hintJson);
if (result.statusCode == 200) {
print("Success");
} else {
print("Failed ${result.error['status_message'] ?? result.error}");
}
var where = {
"data.team": "Red",
"data.position": "Forward"
};
var maxReturn = 10;
var hintJson = {
"data.team": 1,
"data.position": 1
};
var globalEntityProxy = bridge.getGlobalentityServiceProxy();
var postResult = globalEntityProxy.GetRandomEntitiesMatchingWithHint(where, maxReturn, hintJson);
{
"service":"globalEntity",
"operation":"GET_RANDOM_ENTITIES_MATCHING_WITH_HINT",
"data":{
"where":{
"data.team":"Red",
"data.position":"Forward"
},
"maxReturn":10,
"hintJson":{
"data.team":1,
"data.position":1
}
}
}
JSON Response
{
"status": 200,
"data": {
"entityList": [
{
"gameId": "123456",
"entityId": "e919ffc2-c3f7-4cc0-a0f1-b3eb857c4ed0",
"ownerId": "7f416676-9e9d-422f-85b2-740185ac3139",
"entityType": "testGlobalEntity",
"entityIndexedId": null,
"version": 1,
"data": {
"globalTestName": "Test Name 01"
},
"acl": {
"other": 0
},
"expiresAt": 9223372036854775800,
"timeToLive": 0,
"createdAt": 1471010732135,
"updatedAt": 1471010732135
}
],
"_serverTime": 1637946319239,
"entityListCount": 1
}
}