mirror of
https://github.com/n8n-io/n8n-docs.git
synced 2026-03-27 09:28:43 +07:00
docs: remove outdated expressions documentation and update navigation (#4287)
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
8e128f4a81
commit
0a406f9030
@@ -128,7 +128,6 @@
|
|||||||
/code-examples/javascript-functions/get-binary-data-buffer/ /code/cookbook/code-node/get-binary-data-buffer/ 301
|
/code-examples/javascript-functions/get-binary-data-buffer/ /code/cookbook/code-node/get-binary-data-buffer/ 301
|
||||||
/code-examples/javascript-functions/console-log/ /code/cookbook/code-node/console-log/ 301
|
/code-examples/javascript-functions/console-log/ /code/cookbook/code-node/console-log/ 301
|
||||||
/code-examples/ai-code/ /code/ai-code/ 301
|
/code-examples/ai-code/ /code/ai-code/ 301
|
||||||
/code-examples/expressions/check-incoming-data/ /code/cookbook/expressions/check-incoming-data/ 301
|
|
||||||
/code-examples/expressions/ /code/expressions/ 301
|
/code-examples/expressions/ /code/expressions/ 301
|
||||||
/code-examples/expressions/expressions/ /code/expressions/ 301
|
/code-examples/expressions/expressions/ /code/expressions/ 301
|
||||||
/code-examples/javascript-functions/ /code/code-node/ 301
|
/code-examples/javascript-functions/ /code/code-node/ 301
|
||||||
|
|||||||
@@ -192,7 +192,6 @@
|
|||||||
/code-examples/javascript-functions/get-binary-data-buffer/ /code/cookbook/code-node/get-binary-data-buffer/ 301
|
/code-examples/javascript-functions/get-binary-data-buffer/ /code/cookbook/code-node/get-binary-data-buffer/ 301
|
||||||
/code-examples/javascript-functions/console-log/ /code/cookbook/code-node/console-log/ 301
|
/code-examples/javascript-functions/console-log/ /code/cookbook/code-node/console-log/ 301
|
||||||
/code-examples/ai-code/ /code/ai-code/ 301
|
/code-examples/ai-code/ /code/ai-code/ 301
|
||||||
/code-examples/expressions/check-incoming-data/ /code/cookbook/expressions/check-incoming-data/ 301
|
|
||||||
/code-examples/expressions/ /code/expressions/ 301
|
/code-examples/expressions/ /code/expressions/ 301
|
||||||
/code-examples/expressions/expressions/ /code/expressions/ 301
|
/code-examples/expressions/expressions/ /code/expressions/ 301
|
||||||
/code-examples/javascript-functions/ /code/code-node/ 301
|
/code-examples/javascript-functions/ /code/code-node/ 301
|
||||||
|
|||||||
@@ -1,22 +0,0 @@
|
|||||||
---
|
|
||||||
contentType: howto
|
|
||||||
---
|
|
||||||
|
|
||||||
# Check incoming data
|
|
||||||
|
|
||||||
At times, you may want to check the incoming data. If the incoming data doesn't match a condition, you may want to return a different value. For example, you want to check if a variable from the previous node is empty and return a string if it's empty. Use the following code snippet to return `not found` if the variable is empty.
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
{{$json["variable_name"]? $json["variable_name"] :"not found"}}
|
|
||||||
```
|
|
||||||
|
|
||||||
The above expression uses the ternary operator. You can learn more about the ternary operator [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator).
|
|
||||||
|
|
||||||
As an alternative, you can use the [nullish coalescing operator (??)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) or the [logical or operator (||)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR):
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
{{ $x ?? "default value" }}
|
|
||||||
{{ $x || "default value" }}
|
|
||||||
```
|
|
||||||
|
|
||||||
In either of the above two cases, the value of `$x` will be used if it's set to a non-null, non-false value. The string `default value` is the fallback value.
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
---
|
|
||||||
title: Expressions common issues
|
|
||||||
description: Documentation for common issues and questions related to expressions in n8n, a workflow automation platform. Includes details of the issue and suggested solutions.
|
|
||||||
contentType: howto
|
|
||||||
---
|
|
||||||
|
|
||||||
# Expressions common issues
|
|
||||||
|
|
||||||
Here are some common errors and issues related to [expressions](/data/expressions.md) and steps to resolve or troubleshoot them.
|
|
||||||
|
|
||||||
## The 'JSON Output' in item 0 contains invalid JSON
|
|
||||||
|
|
||||||
This error occurs when you use JSON mode but don't provide a valid JSON object. Depending on the problem with the JSON object, the error sometimes display as `The 'JSON Output' in item 0 does not contain a valid JSON object`.
|
|
||||||
|
|
||||||
To resolve this, make sure that the code you provide is valid JSON:
|
|
||||||
|
|
||||||
- Check the JSON with a [JSON validator](https://jsonlint.com/).
|
|
||||||
- Check that your JSON object doesn't reference undefined input data. This may occur if the incoming data doesn't always include the same fields.
|
|
||||||
|
|
||||||
## Can't get data for expression
|
|
||||||
|
|
||||||
This error occurs when n8n can't retrieve the data referenced by an expression. Often, this happens when the preceding node hasn't been run yet.
|
|
||||||
|
|
||||||
Another variation of this may appear as `Referenced node is unexecuted`. In that case, the full text of this error will tell you the exact node that isn't executing in this format:
|
|
||||||
|
|
||||||
> An expression references the node '<node-name>', but it hasn’t been executed yet. Either change the expression, or re-wire your workflow to make sure that node executes first.
|
|
||||||
>
|
|
||||||
|
|
||||||
To begin troubleshooting, test the workflow up to the named node.
|
|
||||||
|
|
||||||
For nodes that use JavaScript or other custom code, you can check if a previous node has executed before trying to use its value by checking the following:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
$("<node-name>").isExecuted
|
|
||||||
```
|
|
||||||
|
|
||||||
As an example, this JSON references the parameters of the input data. This error will display if you test this step without connecting it to another node:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
{
|
|
||||||
"my_field_1": {{ $input.params }}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Invalid syntax
|
|
||||||
|
|
||||||
This error occurs when you use an expression that has a syntax error.
|
|
||||||
|
|
||||||
For example, the expression in this JSON includes a trailing period, which results in an invalid syntax error:
|
|
||||||
|
|
||||||
```jsx
|
|
||||||
{
|
|
||||||
"my_field_1": "value",
|
|
||||||
"my_field_2": {{ $('If').item.json. }}
|
|
||||||
}
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
To resolve this error, check your [expression syntax](/data/expressions.md) to make sure they follow the expected format.
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
---
|
|
||||||
description: Code examples you can use in expressions.
|
|
||||||
contentType: overview
|
|
||||||
---
|
|
||||||
|
|
||||||
# Expressions cookbook
|
|
||||||
|
|
||||||
This section contains examples and recipes for tasks you can do with [expressions](/glossary.md#expression-n8n).
|
|
||||||
|
|
||||||
/// note | Python support
|
|
||||||
You can use Python in the Code node. It isn't available in expressions.
|
|
||||||
///
|
|
||||||
[[% import "_macros/section-toc.html" as sectionToc %]]
|
|
||||||
|
|
||||||
[[ sectionToc.sectionToc(page) ]]
|
|
||||||
|
|
||||||
## Related resources
|
|
||||||
|
|
||||||
* [Built-in methods and variables reference](/code/builtin/overview.md)
|
|
||||||
* [Expressions](/data/expressions.md)
|
|
||||||
@@ -84,3 +84,55 @@ The following code use the Luxon date and time library to find the time between
|
|||||||
return diffInMonths.toObject();
|
return diffInMonths.toObject();
|
||||||
})()}}
|
})()}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Common issues
|
||||||
|
|
||||||
|
Here are some common errors and issues related to [expressions](/data/expressions.md) and steps to resolve or troubleshoot them.
|
||||||
|
|
||||||
|
### The 'JSON Output' in item 0 contains invalid JSON
|
||||||
|
|
||||||
|
This error occurs when you use JSON mode but don't provide a valid JSON object. Depending on the problem with the JSON object, the error sometimes displays as `The 'JSON Output' in item 0 does not contain a valid JSON object`.
|
||||||
|
|
||||||
|
To resolve this, make sure that the code you provide is valid JSON:
|
||||||
|
|
||||||
|
- Check the JSON with a [JSON validator](https://jsonlint.com/).
|
||||||
|
- Check that your JSON object doesn't reference undefined input data. This may occur if the incoming data doesn't always include the same fields.
|
||||||
|
|
||||||
|
### Can't get data for expression
|
||||||
|
|
||||||
|
This error occurs when n8n can't retrieve the data referenced by an expression. Often, this happens when the preceding node hasn't been run yet.
|
||||||
|
|
||||||
|
Another variation of this may appear as `Referenced node is unexecuted`. In that case, the full text of this error will tell you the exact node that isn't executing in this format:
|
||||||
|
|
||||||
|
> An expression references the node '<node-name>', but it hasn't been executed yet. Either change the expression, or re-wire your workflow to make sure that node executes first.
|
||||||
|
|
||||||
|
To begin troubleshooting, test the workflow up to the named node.
|
||||||
|
|
||||||
|
For nodes that use JavaScript or other custom code, you can check if a previous node has executed before trying to use its value by checking the following:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
$("<node-name>").isExecuted
|
||||||
|
```
|
||||||
|
|
||||||
|
As an example, this JSON references the parameters of the input data. This error will display if you test this step without connecting it to another node:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
{
|
||||||
|
"my_field_1": {{ $input.params }}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Invalid syntax
|
||||||
|
|
||||||
|
This error occurs when you use an expression that has a syntax error.
|
||||||
|
|
||||||
|
For example, the expression in this JSON includes a trailing period, which results in an invalid syntax error:
|
||||||
|
|
||||||
|
```jsx
|
||||||
|
{
|
||||||
|
"my_field_1": "value",
|
||||||
|
"my_field_2": {{ $('If').item.json. }}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
To resolve this error, check your [expression syntax](/data/expressions.md) to make sure it follows the expected format.
|
||||||
|
|||||||
@@ -70,4 +70,4 @@ To work around this, check for the existence of the field data before sending it
|
|||||||
|
|
||||||
To check for the data before executing the Notion node, use an [If](/integrations/builtin/core-nodes/n8n-nodes-base.if.md) node to check whether the field is unset. This allows you to use the [Edit Fields (Set)](/integrations/builtin/core-nodes/n8n-nodes-base.set.md) node to conditionally remove the field when it doesn't have a valid value.
|
To check for the data before executing the Notion node, use an [If](/integrations/builtin/core-nodes/n8n-nodes-base.if.md) node to check whether the field is unset. This allows you to use the [Edit Fields (Set)](/integrations/builtin/core-nodes/n8n-nodes-base.set.md) node to conditionally remove the field when it doesn't have a valid value.
|
||||||
|
|
||||||
As an alternative, you can set a [default value](/code/cookbook/expressions/check-incoming-data.md) if the incoming data doesn't provide one.
|
As an alternative, you can set a default value if the incoming data doesn't provide one.
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ This error occurs when WhatsApp Business Cloud rejects your request because of a
|
|||||||
|
|
||||||
To resolve this issue, review the parameters in your [message template](https://www.facebook.com/business/help/2055875911147364?id=2129163877102343). Pay attention to each parameter's data type and the order they're defined in the template.
|
To resolve this issue, review the parameters in your [message template](https://www.facebook.com/business/help/2055875911147364?id=2129163877102343). Pay attention to each parameter's data type and the order they're defined in the template.
|
||||||
|
|
||||||
Check the data that n8n is mapping to the template parameters. If you're using expressions to set parameter values, check the input data to make sure each item resolves to a valid value. You may want to use the [Edit Fields (Set) node](/integrations/builtin/core-nodes/n8n-nodes-base.set.md) or [set a fallback value](/code/cookbook/expressions/check-incoming-data.md) to ensure you send a value with the correct format.
|
Check the data that n8n is mapping to the template parameters. If you're using expressions to set parameter values, check the input data to make sure each item resolves to a valid value. You may want to use the [Edit Fields (Set) node](/integrations/builtin/core-nodes/n8n-nodes-base.set.md) or set a fallback value to ensure you send a value with the correct format.
|
||||||
|
|
||||||
## Working with non-text media
|
## Working with non-text media
|
||||||
|
|
||||||
|
|||||||
4
nav.yml
4
nav.yml
@@ -1314,10 +1314,6 @@ nav:
|
|||||||
- getWorkflowStaticData: code/cookbook/builtin/get-workflow-static-data.md
|
- getWorkflowStaticData: code/cookbook/builtin/get-workflow-static-data.md
|
||||||
- (node-name).all: code/cookbook/builtin/all.md
|
- (node-name).all: code/cookbook/builtin/all.md
|
||||||
- vars: code/cookbook/builtin/vars.md
|
- vars: code/cookbook/builtin/vars.md
|
||||||
- Expressions:
|
|
||||||
- code/cookbook/expressions/index.md
|
|
||||||
- Check incoming data: code/cookbook/expressions/check-incoming-data.md
|
|
||||||
- Common issues: code/cookbook/expressions/common-issues.md
|
|
||||||
- Code node:
|
- Code node:
|
||||||
- code/cookbook/code-node/index.md
|
- code/cookbook/code-node/index.md
|
||||||
- Get number of items returned by last node: code/cookbook/code-node/number-items-last-node.md
|
- Get number of items returned by last node: code/cookbook/code-node/number-items-last-node.md
|
||||||
|
|||||||
Reference in New Issue
Block a user